Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Application.ScreenUpdating = True automatisieren?
#1
Hallo Ihr Ex-cel-perten Wink

Ich schalte vor dem Codeablauf die Bildschirmaktualisierung aus:

Code:
   Application.ScreenUpdating = False

Am Codeende wieder ein:
Code:
   Application.ScreenUpdating = True

Nun die Frage...
im Code gibt es mehrere Abfragen dessen Antworten auch ein "Exit Sub" bewirken können.

Muss ich nun vor jedem "Exit Sub"  immer ein  "Application.ScreenUpdating = True" eintragen? 

Oder geht das auch eleganter?
Sowas wie - das man am Anfang von einem Code sagen kann - wenn Sub endet dann immer screen einschalten?

Viele Grüße
Klaus

Excel 2010
Kaum VBA Kentnisse
Antworten Top
#2
Hallo Klaus,

das beste wäre, ganz auf Exit Sub zu verzichten - ja, das geht!

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • Klaus
Antworten Top
#3
Hallo

der Bildschirm schaltet sich beim verlassen des Makros automatisch wieder ein.  Das gilt auch für Exit Sub.
Sonst haette man irgendwann einen Bildschirm wo sich nix mehr tut!!

Den Bildschirm im Code wieder einschalten macht Sinn bei Input Abfragen oder Fehlermeldungen per MsgBox.
Oder wenn man bei sehr langen Prozeduren zwischenzeitlich das Ergebnis anzeigen will.  Das ist dann individuell.

mfg  Gast 123
[-] Folgende(r) 1 Nutzer sagt Danke an Gast 123 für diesen Beitrag:
  • Klaus
Antworten Top
#4
Vielen Dank für Eure Antworten Smile

@ Kuwer:

Das geht? Den Ablauf beenden und mit Goto ans Ende springen?

@ Gast:

Die Bildschirmaktualisierung schaltet sich immer automatisch wieder ein? Achso?
Gilt das auch für " Application.DisplayAlerts = False"?


Viele Grüße
Klaus
Antworten Top
#5
Hallo Klaus

Zitat:mit Goto ans Ende springen?

Die Frage ist an den Kollegen gestellt, ich denke es stört ihn nicht wenn ich sie mit beantworte.  Ja, das geht über ein Label, aber bitte nicht das Wort GoTo End verwenden, denn End ist ein gültiger VBA Befehl!!  Alle VBA Wörter sind grundsaetzlich als Label (Sprungmarke oder Variable) verboten!!  Dann so:  GoTo Ende  und Ende mit ":"   Ende:   'hier ist Programm Ende

Application.DisplayAlert habe ich gerade mal getestet, schaltet sich beim Verlassen des Makros auch wieder selbst zurück.  Finde ich clever.
Mein Tipp, solche Fragen einfach in einer Test Mappe mal kurz selbst ausprobieren, dadurch lernt man es intensiver, weil selbst erarbeitet!

mfg  Gast 123
[-] Folgende(r) 1 Nutzer sagt Danke an Gast 123 für diesen Beitrag:
  • Klaus
Antworten Top
#6
Hallo Gast,

ja da hast Du Recht. Das hätte ich wohl tun sollen. Sorry.
Ich danke Dir sehr für deine Antworten.
Werd nunmal neu stricken gehen Smile

Viele Grüße
Klaus
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste