Application.ScreenUpdating

Bild

Betrifft: Application.ScreenUpdating
von: Kulo
Geschrieben am: 09.06.2015 23:03:42

Hallo Zusammen,
ich hab zu "Application.ScreenUpdating" mal ne Frage:
Ich bekomme es nicht hin, dass das Bild während der Ausführung des Makros nicht "einfriert".
Folgender Code:

Sub Drucken()
Application.ScreenUpdating = False
Sheets("Kreditlinie").Visible = True
Sheets("Realschuld").Visible = True
If Worksheets("Sonderz.").Cells(5, 1).Value = 888 Then
Sheets("Kreditlinie").Select
End If
If Worksheets("Sonderz.").Cells(5, 1).Value = 111 Then
Sheets("Realschuld").Select
End If
Application.Dialogs(xlDialogPrint).Show
Sheets("Kreditlinie").Visible = False
Sheets("Realschuld").Visible = False
Sheets("Sonderz.").Select
Application.ScreenUpdating = True
End Sub
Von Sonderz. aus soll die Kreditlinie gedruckt werden. Es öffnet sich der Drucken-Dialog. Auf dem Bildschirm sehe ich Sonderz. Nach dem Druckvorgang sehe ich aber, wie sich die Sonderz. aufbaut, welches ja im Hintergrund von Sonderz. über Kreditlinie eigentlich wieder - wenn das Bild steht - zu Sonderz. wechseln sollte.
Starte ich über Sonderz. den Druck von Realschuld, sehe ich am Bildschirm Realdruck, dann kommt der Drucken-Dialog und dann sehe ich sofort Sonderz.
Die Funktion Application.ScreenUpdating scheint nicht überdas ganze Makro hinweg zu gehen.
Kann mir jemand folgen? ;-)
Kann sich jemand mal durch meinen Code wurschteln?
Ich würde mich freuen.
VG
Kulo

Bild

Betrifft: Verstehst du eigentlich selber deinen Blatt-...
von: Luc:-?
Geschrieben am: 10.06.2015 02:38:39
…salat, Kulo?
Bei dem Formulierungsdurcheinander ist es schwer, rauszubekommen, was du eigentlich erwartest und was tatsächlich passiert. Deshalb an dieser Stelle mal meine Interpretation anhand deines Pgms:
1. Anscheinend liegt Sonderz als Steuerungsblatt aktiv und sichtbar vor, wenn das Pgm gestartet wird. Die beiden anderen genannten Blätter sind wohl ausgeblendet.
2. Das gestartete Pgm friert den BS ein und holt die ausgeblendeten Blätter im HGrd aus dem UGrd.
3. Dann wird je nach Inhalt der Zelle A5 entweder das eine oder andere Blatt zum Druck selektiert. Tipp: Da beide If-Konstrukte alternativ sind, kann man beide auch mit If…ElseIf zusammenfassen und muss außerdem nur das zum Druck benötigte sichtbar machen.
4. Nach Start des Druckmenüs und Druck wdn beide Blätter wieder ausgeblendet und das Steuerblatt selektiert.
Was soll sich denn da zwischendurch „aufbauen“? Das von dir genannte Blatt ist ja ohnehin, bis auf den Druckvorgang, die ganze Zeit sichtbar! Es würde also auch ohne .Select wieder aktiv wdn, wenn die Mappe nicht mehr als diese 3 Blätter enthält oder keine anderen sichtbar dazwischen liegen. Mit dem bisschen PgmCode kann ich das jedenfalls nicht nachvollziehen, zumal auch nicht klar ist, was nachzuvollziehen ist. Bei insgesamt 3 Blättern wdn die zu druckenden Blätter nur in der Druckvorschau sichtbar, sonst ist immer nur das Steuerblatt zu sehen. Dass ich dafür nicht extra drucke, dürfte wohl klar sein!
Es könnte natürlich sein, dass irgendwelche Berechnungen u/o dadurch ausgelöste Makros das Einfrieren (zwischenzeitlich) aufheben, aber das kann man ohne Original nicht testen. Es kann aber vorkommen, weil manche Vorgänge ein ScreenUpDating erzwingen könnten. Frag mich aber nicht welche! Ich habe das jedenfalls schon beobachtet.
Morrn, Luc :-?

Bild

Betrifft: AW: Verstehst du eigentlich selber deinen Blatt-...
von: Kulo
Geschrieben am: 10.06.2015 15:24:30
Blattsalat? Ja, ich dachte immer nur Karotten und Radieschen ... ;-)
Hallo Luc,
vielen Dank, dass Du Dich durch meinen Code gewurschtelt hast. Ich wußte, es gibt jemanden, der mich versteht. Deine Interpredation ist vollkommen richtig.
Zu Punkt 3: If Else probier ich aus.
Zu Punkt 4: Du hast recht, ich muss versuchen, das Blatt Sonderz. im Vordergrund zu halten. Und es ist so: "andere Berechnungen u/o Makros" sind daran schuld.
Du hast mein Durcheinander mit anderen Worten sortiert und zurecht gerückt. Eine andere Sicht auf das Ganze. Das hat mich wieder die Bäume im Wald sehen lassen. ;-)
Ich bin alles nochmal durchgegangen. Der Blattaufbau von Realschuld hatte eine eigene Application.ScreenUpdating Funktion mit False und True. Die hat natürlich das AnzeigeUpdate wieder eingeschaltet. Wurde zwar von dem nächste Schritt wieder gesperrt, da war aber dann Realschuld schon auf dem Bildschirm. (Wieder etwas konfus, aber ich weiß, du verstehst mich)
Alles in allem möchte ich Dir sagen, auch wenn Du mir logischerweise bei meinem Wirrwar und ohne weite Details von mir keine konkrete Lösung anbieten konntest, ich durch eine andere, nämlich Deine Sicht auf das ganze eine Lösung gefunden habe.
Bei manchen Sachen lohnt es sich eben, mal von einer anderen Perspektive an die Sache ran zu gehen.
Also vielen Dank nochmal und
VG
Kulo

Bild

Betrifft: Na, denn iss ja jut...! ;-) owT
von: Luc:-?
Geschrieben am: 10.06.2015 17:55:30
:-?

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Fehlerhandling bei mehrdeutigen Einträgen"