Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1284to1288
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Userform und Performance

Userform und Performance
02.11.2012 17:47:15
Martin
Hallo liebe VBA Profis,
bei einem meiner Makros tritt ein seltsames Problem auf, das ich bisher noch nicht beobachtet habe und auch durch intensives Suchen in Foren etc. nicht lösen konnte.
Ein ziemlich langer Algorithmus, der in VBA umgesetzt ist, bestimmt Einträge in diversen Spalten und Zeilen. Der Algorithmus funktioniert und ist auch, gemessen an bisherigen Maßstäben, performant.
Dennoch dauert die Berechnung ein paar Minuten weshalb ich eine modeless userform implementiert habe, die den Fortschritt der Berechnung mit verschiedenen Kennzahlen zusammenfasst. Da der Algorithmus unter anderem auf Werte zurückgreift, die auf dem Tabellenblatt während der Laufzeit berechnet werden, wird zwischendurch immer mal wieder Calculate aufgerufen, allerdings streng begrenzt auf die gerade relevanten Zellen.
Nun zum eigentlichen Phänomen:
1. Wenn ich das Makro starte rechnet es zunächst vergleichsweise langsam und zwar bis ich genau einmal ESC drücke (erst ein zweites Mal unterbricht die Berechnung). Nach dem Drücken rennt die Berechnung wie gewünscht äußerst schnell.
2. Wenn ich Excel den Fokus nehme und in ein andere Programm wechsle tritt der o.g. Effekt des langsamen Rechnens erneut auf. Beim erneuten Fokus auf Excel bleibt die Berechnung langsam bis ich erneut einmal ESC drücke - dann geht's wieder flott.
Ich habe leider keine Ideen mehr woher dieses komische Verhalten kommen soll und hoffe, dass der Ein oder Andere evtl. einen Ansatzpunkt liefern kann.
Ergänzend ist noch hinzuzufügen: Die Berechnungen sind robust; auch wenn ich es langsam laufen lasse kommt das selbe Ergebnis raus wie wenn ich einmal ESC gedrückt habe. Im Makro sind mehrere Schleifen integriert, im Wesentlichen For und eine Do While Schleife. Innerhalb der Schleifen werden einfache Berechnungen durchgeführt.
Herzlichen Dank und viele Grüße ans Forum
Martin

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform und Performance
02.11.2012 18:41:52
ransi
HAllo
Ich denke durch das hin- und herschalten änderst du den Berechnungsmodus und zwingst Excel in eine Neuberechnung der gesamten Application.
Das wäre dann die Bremse.
Aber ohne die Datei kann man da nur raten.
ransi

AW: Userform und Performance
03.11.2012 11:46:10
Martin
Hallo ransi,
danke für die Antwort. Die Datei kann ich leider aus Geheimhaltungsgründen nicht zur Verfügung stellen.
Mich interessiert vor allem, was beim einmaligen Drüken von ESC passiert. Ich war immer der Meinung, dass bereits die erste Betätigung von ESC ein laufendes Makro beendet.
Das was beim ersten Drücken verändert wird bremst die Berechnung offensichtlich aus. Ich vermute, dass es etwas mit der Userform zu tun hat, konnte aber zu dem Thema nirgends was finden.
Danke
Martin
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige