Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
568to572
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
568to572
568to572
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makroausführung immer lansgsamer

Makroausführung immer lansgsamer
16.02.2005 10:59:13
hbis
Hallo zusammen,
ich sitze gerade an einem Phänomen, für das ich bisher nirgendwo Hinweise gefunden habe:
Ich habe eine Makro gebaut, das nacheinender aus insgesamt 26 verschiedenen Tabellen Daten ausliest, umordnet und -formatiert, zusammenfasst und in neuen (Text-)Dateien ausgibt. Das Makro wird bei Aufruf der zugehörigen EXCEL-Datei automatisch gestartet, die Tabelle schließt sich nach dem kompletten Durchlauf selbst.
Dieses Makro an sich läuft störungsfrei, der Ablauf dauert z.Zt. etwa 3 - 5 Minuten.
Mein Problem: Andere Benutzer sollen das Makro aufrufen können, sie sollten aber nicht in den Ablauf eingreifen oder das Makro abbrechen können. Ich habe daher verschiedene Ansätze ausprobiert (u.a. Application.Visible = False, Application.UserControl = False), die den Ablauf "störungssicherer" machen sollen.
Dabei stehe ich jedesmal vor dem Problem, dass das Makro langsamer wird und EXCEL quasi "stirbt", sobald die Anwendung den Fokus verliert. Ist das EXCEL-Fenster im Vordergund und maximiert, läuft mein Makro, ist es z.B. minimiert und verliert den Fokus durch Anklicken eines anderen Fensters, verlangsamt sich das Makro bis zum Stillstand (btw: bei 97% CPU-"Last" durch "Leerlaufprozess"..)
Der Einbau mehrerer "AppActivate "Microsoft Excel"" ins Makro vermindert die Abbruchrate zwar, aber das kann doch eigentlich nicht die Lösung sein?
Kennt jemand dieses (übrigens Rechner-unabhängige) Phänomen? Gibt es Tipps und Tricks zu diesem Thema?
Wär' nett, wenn ich irgendwie einen Ansatz finden würde.
Vielen Dank vorab!
Hans

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makroausführung immer lansgsamer
u_
Hallo,
das manuelle Abbrechen kannst du einfach mit einem
Application.enablecancelkey=False
am Anfang unterbinden. Am Ende wieder auf True setzen.
Gruß
AW: Makroausführung immer lansgsamer
16.02.2005 11:05:36
Matthias
Hallo Hans,
was helfen könnte:
Application.ScreenUpdating = False
und vor allem:
jegliches Activate und Select im Code vermeiden! Prüfe den Code mal dahingehend.
siehe auch: https://www.herber.de/xlfaq/xlbasics/main_sel.htm
Gruß Matthias
AW: Makroausführung immer lansgsamer
16.02.2005 11:21:27
hbis
mmmh...
Interessanter Hinweis. Es wimmelt tatsächlich von "Select"s im Code, ich werde ihn mal überarbeiten. Andererseits: wie sollte das das Problem (läuft im Vordergund/stirbt im Hintergrund) erklären?
Mal schauen, ich werd mich wieder melden.
Danke derweil!
Hans
Anzeige
AW: Makroausführung immer lansgsamer
16.02.2005 11:34:22
Matthias
Hallo Hans,
schon ein Screenupdating = False bringt ca. 300% mehr Geschwindigkeit (bei vielen Selects und Activates), ein Verzicht auf diese Befehle noch mehr.
So kann es sein, dass dein Code statt in 3-5 Minuten in 30 Sekunden oder weniger abgearbeitet ist.
Also ist das erstmal der oberste Priorität ;-)
Gruß Matthias

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige