Excel Makro plötzlich sehr langsam

Callidus89

Cadet 3rd Year
Registriert
Aug. 2018
Beiträge
53
Moin moin.

Ich habe ein sehr umfangreiches Excel-Programm geschrieben. Es ist zu komplex um es hier zu posten und die Datei möchte ich nicht veröffentlichen.

Das Tool enthält einige Module und UserForms. Dazu ein Hauptprogramm mit diversen Unterprogrammen und mehrere Nebenprogramme, die keine Schnittstellen zu dem Hauptprogramm haben.

Mein Problem: Seit gestern brauchen alle Programme zur Ausführung bemerkenswert lange. Selbst das öffnen der Datei braucht länger. Dabei habe ich am Code nur (aus meiner Sicht) unwesentliche Inhalte leicht abgeändert.

In einer Vorgängerversion läuft alles noch wie gewoht flott ab: Im Taskmanager beträgt die CPU Auslastung bei Durchlaufen des Hauptprogrammes bis zu 30%, dabei belegt das Tool ca. 100 MB Arbeitsspeicher (zum Vergleich, eine leere Arbeitsmappe nimmt ca. 30 MB ein).
In der aktuellen Version beträgt die CPU Auslastung bei Durchlaufen des Hauptprogrammes die meiste Zeit zwischen 30-35% und im Arbeitsspeicher werden 260 MB belegt (mehr als das doppelte!)

Selbst ein einfaches Nebenprogramm, welches über einen Button-Click eine Zeilenbreite ändert, braucht mehrere Sekunden zur Ausführung. In der alten Version wird der gleiche Code quasi augenblicklich durchlaufen.

Ich kann mir nicht erklären, warum nun so viel mehr Arbeitsspeicher benötigt wird. Ich deaktiviere im Moment verschiedene Teile meines Codes und starte die Datei anschließend neu um den Übeltäter zu finden, bisher erfolglos.

Für Anregungen von euch bin ich offen.
 
Für gute Excel-Hilfe kann ich nur: http://www.herber.de/forum/ empfehlen.

Aber auch dort wird Dir keiner wirklich helfen können mit den "wenigen" angaben.
 
  • Gefällt mir
Reaktionen: Callidus89
Danke, werde mich da demnächst auch mal umschauen.

Kleines Update meinerseits. Am Code liegt es nicht.

Ich habe alles an Code gelöscht, alle Module, alle Userformern, alle Programme in Tabellenblätter. Keine Veränderung.

Dann habe ich angefangen Tabellenblätter zu löschen. Nachdem ich mein Haupttabellenblatt gelöscht hatte, war alles wieder normal.
Aber was kann in einem Tabellenblatt enthalten sein, das solch ein gravierendes Verhalten auslöst?
Ich werde weitersuchen...
 
Hola,

bedingte Formatierungen, bestimmte Formeln die über ganze Spalten laufen, Grafiken, Objekte....
Gruß,
steve1da
 
  • Gefällt mir
Reaktionen: Callidus89
Nächstes Update:
Bedingte Formatierung -> alle gelöscht -> keine Veränderung
Formeln -> gibt/gab es nie in dem Tabellenblatt
Grafiken -> gibt/gab es nie in dem Tabellenblatt
Objekte -> es gibt diverse Buttons. Werde die mal genauer unter die Lupe nehmen
 
Nächste Update:

Es wird Office 365 benutzt. Denke aber nicht, dass es daran liegt.

Es liegt definitiv an den Buttons. Ein einfaches löschen der Zeilen in denen die Buttons sind, hat nichts gebracht. Erst das löschen mit einem kleinen Makro brachte die Erkenntnis:

For Each shp In ActiveSheet.Shapes
shp.Delete
Next shp

Hiernach läuft die Datei vernünftig. Ok, Dann habe ich die alten Buttons wohl nicht richtig gelöscht. Im Zweifel also alle Buttons löschen und neu einfügen. Immer noch besser als wenn nichts mehr funktioniert.

Danke für euren detektivischen Spürsinn!
 
Ja, Shapes koennen die Datei verlangsamen und das teils massiv.
Ich kann auch aus Erfahrung sagen, dass Excel bei manchen Dateien mit Buttons irgendwann einfach durchdreht ...
Ich habs bei einer Datei irgendwann aufgegeben und diese dann weggelassen, weil sie alle paar Wochen aufeinmal in ein Bild umgewandeln wurden.
 
Zurück
Oben