2017-05-19 4 views
-1

Ich habe einen Benutzer (und seine Kollegen), der Makro funktioniert, das einwandfrei in Excel 2010 funktioniert plötzlich nicht sehr gut in Excel 2016, das Makro führt manchmal zu einer sehr hohen CPU-Auslastung (CPU geht von 12% auf 66 +%), was es unglaublich langsam und nicht reagierend macht.Excel-Makro manchmal unglaublich langsam in Excel 2016, aber nicht in Excel 2010 (hohe CPU-Auslastung)

Der Kicker ist, dass es am Anfang funktioniert, aber wenn sie das Makro ein- oder zweimal ausgeführt haben oder x Arbeit in einer anderen Tabelle getan haben, wird das Problem auftreten.

Ich kann den Code nicht offenlegen, da es sensible Daten sind, und ich bin Teil eines externen Supportdienstes, aber ich kann Ihnen sagen, dass sie das Dokument schützen/ungeschützt machen und SQL-Transaktionen stattfinden.

Das Problem tritt auf, nachdem (je nachdem, wie der Code ausgeführt wird) der Dokumentschutz entfernt wird, - es scheint zu sein, wenn eine InputBox angezeigt wird, dass Excel zu Mist geht. Man kann Buchstaben eingeben, aber sie werden erst nach x Sekunden angezeigt.

Ist es eine bekannte Sache, dass bestimmte Methoden im Jahr 2016 nicht so gut funktioniert, wie es im Jahr 2010 der Fall ist, oder hat 2016 führen im Allgemeinen nicht so gut wie 2010.

Müssen wir den Code ändern, oder Gibt es etwas, das über Excel-Einstellungen erledigt werden kann?

+1

Ja den Code ändern, neuen Code schreiben - viel Glück – 0m3r

+0

Von 12% bis 66 +%? Klingt wie eine oder mehrere Abfragen ausgeführt wird ..? – CLR

Antwort

2

Die Methoden Protect und UnProtect in Excel 2013 und 2016 sind mehr als 2000 Mal (!) Langsamer als in 2010 und zuvor, aufgrund des neuen Passwort-Hash-Algorithmus, den die neueren Versionen verwenden. Das Auslassen des Passworts löst dieses Problem zwar, ist jedoch nicht immer eine gute Lösung.

Alternativ stellen Sie sicher, dass beim Öffnen der Datei (wenn zuerst benötigt) die Arbeitsblätter geschützt sind, indem Sie UserInterfaceOnly auf true setzen und von diesem Zeitpunkt an keinen Schutz/Schutz mehr haben.

+0

Sehr gute Kenntnisse jkp. Ist dies aus einem Ihrer Geschwindigkeitstests oder haben Sie eine Quelle? Ich finde, Excel 2010 scheint für viele Dinge am besten zu sein, und die neueren Versionen haben wirklich Probleme mit Mainstream-Aufgaben. Ist das auf Ihrer Website? – MacroMarc

+0

Dies ist aus Geschwindigkeitstests mit Client-Dateien. Ich würde nicht sagen, dass 2010 für viele Dinge "das Beste" ist, jede Version von Excel hat ihre Vor- und Nachteile. – jkpieterse