Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1156to1160
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
Inhaltsverzeichnis

Bildschirmflackern trotz ScreenUpdatin=False

Bildschirmflackern trotz ScreenUpdatin=False
Holger
Hallo Excelaner,
bei folgenden Code sieht man ein Teil der Ausführung trotz "Application.ScreenUpdating = False" in diesem und in den anderen Makros. Wie kann ich das Bildschirmflackern verhindern?
Sub Alle_Tabellen_berechenen()
Application.ScreenUpdating = False
With Application
.Run ("Kurzansicht")
.Run ("Zinsansprüche")
.Run ("Zinszahlungen")
.Run ("Bestandsuebersicht")
End With
Application.ScreenUpdating = False
End Sub
Außerdem möchte ich in der Tabelle bleiben, aus der ich dieses Makro aufrufe. Wie kann ich das bewerkstelligen?
Gruß
Holger

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Bildschirmflackern trotz ScreenUpdatin=False
19.05.2010 16:16:51
Hajo_Zi
Hallo Holger,
arbeite ohne Select.
Hinweise zu select usw.

AW: Bildschirmflackern trotz ScreenUpdatin=False
19.05.2010 16:17:50
Rudi
Hallo,
bist du sicher, dass in den aufgerufenen Prozeduren nicht Application.Screenupdating=true steht?
Außerdem möchte ich in der Tabelle bleiben, aus der ich dieses Makro aufrufe. Wie kann ich das bewerkstelligen?

Arbeite ohne Select und Activate.
Gruß
Rudi
das ist nicht schön...
19.05.2010 16:43:12
Holger
Hallo Rudi,
das Problem ist, dass die aufgerufenen Makros auch eigenständig funktionieren müssen. Und dann sind "Application.Screenupdating=true", "Select" und "Activate" nach meiner Meinung nötig.
So sieht beispielsweise eins der aufgerufenen Makros aus:
Sub Kurzansicht()
Application.ScreenUpdating = False
Dim KA$, Inv$
KA = "Stammdaten Kurzansicht"
Inv = "Inventar"
With Sheets(KA)
.Unprotect
.Range("A14:Z120").Clear
End With
With Sheets(Inv)
.Range("p1").Copy Sheets(KA).Range("l1")
.Range("A10:AM110").AutoFilter Field:=2, Criteria1:=""
.Range("A15:G110").Copy Sheets(KA).Range("A14")
.Range("T15:T110").Copy Sheets(KA).Range("H14")
.Range("Y15:Y102").Copy Sheets(KA).Range("I14")
.Range("AA15:AD110").Copy Sheets(KA).Range("J14")
.Range("A8").AutoFilter
End With
With Sheets(KA)
.Select
.Range("L1").Select
.Protect
End With
Application.ScreenUpdating = True
End Sub
Also bleibt mir nichts anderes übrig, als einen neues (Gesammt-)Makro zu schreiben, der die Codes aller 4 Makros beinhaltet, allerdings ohne "Select" und "Activate".
Oder gibt es noch eine andere Lösung?
Gruß
Holger
Anzeige
AW: das ist nicht schön...
19.05.2010 19:38:55
jowe
frag' vor dem Befehl zur Deaktivierung ab, ob das screenupdating ein-/oder ausgeschaltet ist.
If Application.ScreenUpdating = True Then Application.ScreenUpdating = False
es geht ja darum ...
19.05.2010 22:03:17
Uduuh
Hallo,
.. die Aktivierung zu verhindern.
Sub Kurzansicht()
Dim blnSreenUpDating As Boolean
blnSreenUpDating = Application.ScreenUpdating
Application.ScreenUpdating = False
Dim KA$, Inv$
KA = "Stammdaten Kurzansicht"
Inv = "Inventar"
With Sheets(KA)
.Unprotect
.Range("A14:Z120").Clear
End With
With Sheets(Inv)
.Range("p1").Copy Sheets(KA).Range("l1")
.Range("A10:AM110").AutoFilter Field:=2, Criteria1:=""
.Range("A15:G110").Copy Sheets(KA).Range("A14")
.Range("T15:T110").Copy Sheets(KA).Range("H14")
.Range("Y15:Y102").Copy Sheets(KA).Range("I14")
.Range("AA15:AD110").Copy Sheets(KA).Range("J14")
.Range("A8").AutoFilter
End With
With Sheets(KA)
.Select
.Range("L1").Select
.Protect
End With
Application.ScreenUpdating = blnSreenUpDating
End Sub

Gruß aus’m Pott
Udo

Anzeige
AW: Makro Stopp
19.05.2010 22:08:40
Daniel
Hi
ganz einfache Lösung:
las in den Untermakros das "Application.ScreenUpdating = True" am Ende weg.
Dieser Befehl ist am Ende eines Makros sowieso unnötig, da VBA die Bildschirmaktualisierung automatisch anschaltet, wenn alle Makros durchglaufen sind.
Gruß, Daniel
AW: Makro Stopp
20.05.2010 07:22:02
Holger
So, jetzt habe ich alle ".ScreenUpdating"-Möglichkeiten durchgespielt. Die besten Ergebnisse erzielen die Ideen von Uduuh (=Udo) und von Daniel.
Da die Lösung von Daniel die einfachste ist, habe ich diese auch entgültig übernommen.
Danke an alle Helfer!
Gruß Holger

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige