Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Bildschirmdarstellung einfrieren während VBA

Forumthread: Bildschirmdarstellung einfrieren während VBA

Bildschirmdarstellung einfrieren während VBA
29.12.2002 00:56:42
Franz
Hallo Fachleute,

wenn ein Makro mehrere Schritte abarbeitet, ist jede einzelne Änderung am Bildschirm zu beobachten, und das dauert, weil der Bildschirm jede Änderung neu aufbauen muss. Gibt es, um Makros zu beschleunigen, einen Befehl, mit dem man während des Makros den Bildschirm "einfrieren" kann, und erst am Ende des Makros wieder freigibt zur Aktualisierung. Ich kann es leider nicht besser ausdrücken.

Vielen Dank im Voraus

Gruß

Franz

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Bildschirmdarstellung einfrieren während VBA
29.12.2002 01:00:42
Boris
Hallo Franz,

zu Beginn des Makros:

Application.ScreenUpdating = false

und am Ende:

Application.ScreenUpdating = true

Gruß Boris

Re: Bildschirmdarstellung einfrieren während VBA
29.12.2002 01:11:19
Franz
Hallo Boris,

vielen Dank für die schnelle Hilfe, funktioniert bestens.

Gruß

Franz

Re: Bildschirmdarstellung einfrieren während VBA
29.12.2002 10:58:17
Hajo_zi
Hallo Franz

das Makro würde noch schneller laufen, wen Du auf select, Activate und ähnliche Befehle verzichtest.

Gruß Hajo

Anzeige
Re: Bildschirmdarstellung einfrieren während VBA
29.12.2002 12:45:39
Franz
Hallo Boris,

so ein Profi bin ich noch gar nicht, dass ich da so viel drin hätte. Ich will lediglich die Feiertage, die Schulferien und ganz wenige andere Termine, die ich in einem Blatt aufgelistet habe auf den Jahreskalender eines anderen Blattes übertragen. Und da komme ich ohne die von Dir genannten Anweisungen aus. Und mit Deinem Tipp von gestern bin ich vollauf zufrieden, das beschleunigt die Sache auf Bruchteile. Trotzdem danke für Deine weitere Unterstützung

Grüße

Franz


Anzeige
Re: Bildschirmdarstellung einfrieren während VBA
29.12.2002 12:49:40
Franz
Hallo Hajo,

hoppla, da hab ich grade nicht genau hingeschaut. Danke Dir für den Zusatztipp und entschuldige bitte, dass ich Dich mit Boris angesprochen habe.

Grüße

Franz

;
Anzeige

Infobox / Tutorial

Bildschirmdarstellung während der VBA-Ausführung einfrieren


Schritt-für-Schritt-Anleitung

Um die Bildschirmdarstellung in Excel während der Ausführung eines VBA-Makros einzufrieren, kannst Du folgende Schritte befolgen:

  1. Öffne den Visual Basic for Applications (VBA) Editor.

  2. Füge den folgenden Code am Anfang deines Makros hinzu, um die Bildschirmdarstellung einzufrieren:

    Application.ScreenUpdating = False
  3. Am Ende des Makros solltest Du den Bildschirm wieder aktualisieren, indem Du diesen Befehl hinzufügst:

    Application.ScreenUpdating = True

Durch diese einfachen Anweisungen wird der Bildschirm „einfrieren“, was bedeutet, dass keine Änderungen am Bildschirm angezeigt werden, während das Makro läuft. Dies beschleunigt die Ausführung deines Makros erheblich.


Häufige Fehler und Lösungen

  • Fehler: Bildschirm bleibt nach der Ausführung eingefroren.

    • Lösung: Stelle sicher, dass der Befehl Application.ScreenUpdating = True am Ende deines Makros steht.
  • Fehler: Makro läuft langsam trotz Einfrieren des Bildschirms.

    • Lösung: Vermeide die Verwendung von Select und Activate, da diese Befehle die Ausführung verlangsamen können.

Alternative Methoden

Neben dem Einfrieren des Bildschirms gibt es weitere Möglichkeiten, die Leistung von VBA-Makros zu optimieren:

  • Verwendung von DoEvents: Dieser Befehl erlaubt es Excel, andere Aufgaben auszuführen, während das Makro läuft. Dies kann hilfreich sein, wenn Du die Benutzeroberfläche reaktionsfähig halten möchtest.

    DoEvents
  • Optimierung von Berechnungen: Deaktiviere automatische Berechnungen mit:

    Application.Calculation = xlCalculationManual

    und aktiviere sie wieder am Ende deines Makros:

    Application.Calculation = xlCalculationAutomatic

Praktische Beispiele

Hier ist ein einfaches Beispiel, das zeigt, wie Du den Bildschirm einfrieren kannst, während ein Makro läuft:

Sub BeispielMakro()
    Application.ScreenUpdating = False
    ' Deine Makroaktionen hier
    Application.ScreenUpdating = True
End Sub

In diesem Beispiel wird die Bildschirmdarstellung während der Ausführung des Makros eingefroren, was eine schnellere Verarbeitung ermöglicht.


Tipps für Profis

  • Nutze Application.DisplayAlerts = False, um Warnmeldungen während der Ausführung des Makros zu deaktivieren. Dies kann den Prozess weiter beschleunigen.

  • Experimentiere mit der Verwendung von Arrays, um Daten zu verarbeiten, anstatt direkt auf Zellen zuzugreifen. Dies kann die Geschwindigkeit deiner Makros erheblich verbessern.


FAQ: Häufige Fragen

1. Was passiert, wenn ich Application.ScreenUpdating = False vergesse? Wenn Du diesen Befehl nicht verwendest, wird jeder Schritt deines Makros auf dem Bildschirm angezeigt, was die Ausführung verlangsamen kann.

2. Funktioniert das Einfrieren des Bildschirms in allen Excel-Versionen? Ja, die Befehle zum Einfrieren der Bildschirmdarstellung funktionieren in allen gängigen Excel-Versionen, die VBA unterstützen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige