Hallo nochmal.
Folgendes: ich habe einen ziemlich langen, komplizierten Quelltext in VBA geschrieben und wollte zwischendurch immer mal einen neuen Text in einem Label anzeigen lassen, um den User zu zeigen an welcher Stelle des Programmablaufs er sich gerade befindet.
Könnte so aussehen:
~ Quelltext~
Label21.Caption = „Filtere“
~ Quelltext~
Label21.Caption = „Summiere Zellen“
~ Quelltext~
Label21.Caption = „Schreibe Wert in Datei“
~ Quelltext~
Label21.Caption = „Fertig.“
Ist nur exemplarisch um zu verdeutlichen was ich will.
Wenn mein langer Quelltext nun aber abgearbeitet wird, wird nicht der neue Labeltext angezeigt, es ist erst am Ende der Bearbeitung der letzte Labeltext sichtbar.
Wie kann man das machen um dem Nutzer zu zeigen was VBA gerade macht?
Liebe Grüße!
Kristin
Hallo Kristin,
wundert mich eigentlich. Hast du das ScreenUpdating ausgeschaltet?
Ansonsten probier mal: UserForm1.Repaint
mfg
Dirk.Pegasus
Hallo Dirk,
ja ich habe folgende Zeile in meinem Quelltext:
Application.ScreenUpdating = False
Dein Vorschlag:
Ansonsten probier mal: UserForm1.Repaint
funktioniert leider nicht, dazu muss ich aber sagen das ich etwas „umgebaut“ habe.
Der Status wird jetzt einfach immer in eine Zelle geschrieben, über [A1]="". Ich habe das Screenupdating jetzt angestellt, kriege also auch den Status in der Zelle angezeigt.
Eine Möglichkeit Flimmern abstellen und Status anzeigen gibt es nicht?
Liebe Grüße
Kristin
Hallo Kristin,
tja, entweder nichts anzeigen oder flimmern…
Vieleicht kannst du ja einen Rhytmus verwenden, so jedes 20-mal oder alle 3 Sekunden. Dann flackert es nicht hecktisch sondern es wird alle paar … neu angezeigt.
mfg
Dirk.Pegasus