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

Application.ScreenUpdating = False

Forumthread: Application.ScreenUpdating = False

Application.ScreenUpdating = False
19.01.2004 07:21:15
eugen
Morgen Leute,
wer kann mir sagen was eigentlich die 2 Befehle die ich in meinen meisten Makros habe bedeuten.

'Am Anfang:
Application.ScreenUpdating = False
'Am Ende
Application.ScreenUpdating = True
gruß eugen
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Application.ScreenUpdating = False
19.01.2004 08:01:36
Detlev
Hallo Eugen,
damit wird die Aktualisierung der Anzeige von Excel ab-, bzw. angeschaltet.
Wenn es auf False steht, siehst Du nicht was Excel so alles macht.
Gruss aus Hannover
Detlev
www.bieler.org
AW: Application.ScreenUpdating = False
19.01.2004 08:07:09
eugen
Hallo Detlev,
vielen Dank für die Info.
gruß eugen
AW: Application.ScreenUpdating = False
19.01.2004 08:11:35
Jens
Hallo Eugen
Wenn Du Prozesse laufen hast bei denen Du die ganze Zeit über zuschauen kannst was passiert (z.B. Sortieren etc) kann es manchmal zu einem ganz schönen Gewackel des Bildes kommen. Deswegen schaltet man mit Application.ScreenUpdating = False die Bildschirmaktualisierung während des Prozesses ab und wenn alles abgeschlossen ist mit Application.ScreenUpdating = True wieder zu. Setzt mal in einem Code wo Du diese Befehle vorfindest einfach mal ein ' davor. Die Schrift wird dann grün, dass heißt die Befehle sind abfeschaltet. Aber vor jeweils beide Befehle "False" u. "True" und dann starte mal das Makro. Ja nachdem wieviel Prozesse durchlaufen werden, wirst Du schon sehen was mit Deinem Bild passiert. Danach nehme die ' wieder raus und alles ist in Grundstellung.
Gruß Jens
Anzeige
AW: Application.ScreenUpdating = False
19.01.2004 13:13:39
eugen
danke Jens
für die ausführliche Beschreibung,
werd ich mal Testen.
gruß eugen
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Anwendung von Application.ScreenUpdating in Excel VBA


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und gehe zum VBA-Editor. Drücke ALT + F11.
  2. Erstelle ein neues Modul: Rechtsklicke im Projektfenster auf "VBAProject (deinWorkbookName)" und wähle "Einfügen" > "Modul".
  3. Füge deinen VBA-Code ein:
    Sub BeispielMakro()
       Application.ScreenUpdating = False
       ' Deine Makro-Aktionen hier
       Application.ScreenUpdating = True
    End Sub
  4. Starte das Makro: Schließe den VBA-Editor und gehe zurück zu Excel. Drücke ALT + F8, wähle dein Makro aus und klicke auf "Ausführen".

Durch das Setzen von Application.ScreenUpdating = False wird die Bildschirmaktualisierung deaktiviert, was die Ausführung deines VBA-Codes beschleunigen kann und visuelles Flackern während der Ausführung verhindert.


Häufige Fehler und Lösungen

  • Fehler: Bildschirmaktualisierung bleibt deaktiviert

    • Lösung: Stelle sicher, dass du Application.ScreenUpdating = True am Ende deines Makros verwendest. Wenn das Makro aufgrund eines Fehlers vorzeitig beendet wird, bleibt die Bildschirmaktualisierung deaktiviert.
  • Fehler: Makro läuft nicht wie erwartet

    • Lösung: Prüfe, ob du Application.ScreenUpdating = False zu Beginn des Makros gesetzt hast. Es könnte auch hilfreich sein, Debugging-Tools zu verwenden, um zu sehen, wo die Ausführung stoppt.

Alternative Methoden

Wenn du die Bildschirmaktualisierung in Excel VBA nicht manuell steuern möchtest, kannst du auch die folgenden Methoden verwenden:

  • Statusleiste verwenden: Aktualisiere die Statusleiste, um den Fortschritt anzuzeigen:

    Application.StatusBar = "Verarbeitung läuft..."
  • Formularsteuerelemente: Verwende Fortschrittsbalken oder andere Steuerelemente, um den Fortschritt visuell darzustellen, ohne die Bildschirmaktualisierung zu nutzen.


Praktische Beispiele

  1. Daten sortieren ohne Bildschirmflackern:

    Sub DatenSortieren()
       Application.ScreenUpdating = False
       Sheets("Tabelle1").Sort.SortFields.Clear
       Sheets("Tabelle1").Sort.SortFields.Add Key:=Range("A1:A10"), Order:=xlAscending
       With Sheets("Tabelle1").Sort
           .SetRange Range("A1:D10")
           .Header = xlYes
           .Apply
       End With
       Application.ScreenUpdating = True
    End Sub
  2. Daten kopieren und einfügen:

    Sub DatenKopieren()
       Application.ScreenUpdating = False
       Sheets("Daten").Range("A1:A10").Copy Destination:=Sheets("Ziel").Range("A1")
       Application.ScreenUpdating = True
    End Sub

Tipps für Profis

  • Verwende DoEvents: Wenn du lange laufende Prozesse hast, kannst du DoEvents verwenden, um Excel zu erlauben, auf Benutzerinteraktionen zu reagieren.
  • Testen von Bildschirmaktualisierung: Kommentiere die ScreenUpdating-Befehle aus, um zu sehen, wie sich die Ausführung des Makros verhält, wenn die Aktualisierung aktiviert ist. Dies kann helfen, die Effizienz zu optimieren.
  • Vermeide übermäßige Bildschirmaktualisierungen: Setze Application.ScreenUpdating nur dann auf True, wenn es wirklich notwendig ist.

FAQ: Häufige Fragen

1. Was bedeutet Application.ScreenUpdating = False?
Mit diesem Befehl wird die Aktualisierung des Excel-Bildschirms deaktiviert, sodass der Benutzer die Änderungen nicht sieht, während das Makro läuft.

2. Warum sollte ich Application.ScreenUpdating verwenden?
Es verbessert die Leistung von Makros, indem es die visuelle Darstellung während der Ausführung reduziert, was insbesondere bei großen Datenmengen von Vorteil ist.

3. Was passiert, wenn ich ScreenUpdating nicht zurücksetze?
Wenn du Application.ScreenUpdating nicht wieder auf True setzt, kann Excel weiterhin keine Aktualisierungen des Bildschirms vornehmen, was zu Verwirrung führen kann.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige