Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
348to352
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
348to352
348to352
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Bildschirm ruhig stellen

Bildschirm ruhig stellen
08.12.2003 14:11:33
hermann
Hallo Excel-Könner,

ich arbeite in einer Excel-Datei mit einem Makro, welches u. a. mehrere Tabellenblätter nacheinander ansteuert, um Daten zu übertragen. Das Makro wird über einen Schalter in einem Tabellenblatt gestartet.

Problem:
Während das Makro läuft, springt der Bildschirm. Es werden jeweils die angesteuerten Tabellenblätter kurz angezeigt.

Mein Ziel:
Während das Makro läuft (ca. 4-5 Sek.), soll nur das Tabellenblatt, von wo aus das Makro per Schalter gestartet wird, angezeigt werden.

Mit "Application.ScreenUpdating = False" gelingt es nicht.
Ich habe die Zeile versuchsweise am Anfang des Makros und/oder vor den Einzelschritten (z. B. Sheets("Abo-Listung").Select) eingefügt.

Wer hat einen Tip für mich?
(Bin kein VBA-Experte, kann aber Makro-Code manuell editieren.)

Danke bereits vorab

Hermann

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

Betreff
Datum
Anwender
Anzeige
AW: Bildschirm ruhig stellen
08.12.2003 14:22:49
Carsten
Hallo Hermann,

Application.Screenupdating = False ist schon der richtige Weg. Wenn das nicht klappt poste mal den Code.

Gruß
Carsten
AW: Bildschirm ruhig stellen
09.12.2003 15:10:48
Hermann
Hallo Carsten,

danke für Deine schnelle Reaktion.

Hier der Makro-Code:


Sub A_02_Von_Zeitzonen_nach_Abo_Listung()
' A_02_Von_Zeitzonen_nach_Abo_Listung Makro
' Makro am 07.03.01 von HM aufgezeichnet
ActiveWorkbook.Unprotect
Application.ScreenUpdating = False
Sheets("Abo-Listung").Select
ActiveSheet.Unprotect
Range("B4:I318").Select
Selection.ClearContents
Range("B4").Select
Application.ScreenUpdating = False
Sheets("Zeitzonen").Select
ActiveSheet.Unprotect
Range("A3:H317").Select
Selection.Copy
Application.ScreenUpdating = False
Sheets("Abo-Listung").Select
Range("B4").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("B4").Select
Application.ScreenUpdating = False
Sheets("Zeitzonen").Select
Application.CutCopyMode = False
Range("A3").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Application.ScreenUpdating = False
Sheets("Abo-Listung").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveWorkbook.Protect Structure:=True, Windows:=False
Application.ScreenUpdating = True
End Sub


Ich habe das Makro per Rekorder aufgezeichnet und die Zeile
Application.ScreenUpdating = False
später manuell eingefügt.

Ziel:
Daten aus Blatt „Zeitzonen“ nach Blatt „Abo-Listung“ kopieren. Vorher wird der Blattschutz aufgehoben und Daten im Zielbereich werden gelöscht.

Der Bildschirm soll dabei nicht reagieren. Aber trotz
Application.ScreenUpdating = False
werden die angesteuerten Seiten angezeigt.

Danke für Deine Hilfe

Gruß

Hermann
Anzeige
AW: Bildschirm ruhig stellen
10.12.2003 13:01:39
Hermann
Hallo Carsten,

danke für Deinen Hinweis.

Hier der Makro-Code:


Sub A_01_Blätter_einblenden()
Application.ScreenUpdating = False
ActiveWorkbook.Unprotect
Sheets("Zeitzonen").Visible = True
ActiveSheet.Unprotect
Sheets("Analysen").Visible = True
ActiveSheet.Unprotect
Sheets("Hallenplan").Select
ActiveSheet.Unprotect
Sheets("Dateneingabe").Select
ActiveSheet.Unprotect
Sheets("Klick !").Select
Range("C29:E29").Select
ActiveCell.FormulaR1C1 = "Eingeblendet"
Application.ScreenUpdating = True
End Sub


Das Makro wurde per Rekorder aufgezeichnet.
"Application.ScreenUpdating" habe ich anschließend manuell eingefügt.
Der Code ist Teil einer größeren Makro-Kette und läuft jeweils am Anfang.
Bei Bedarf benutze ich das Makro auch separat.

Der Bildschirm bleibt ruhig beim Einblenden der Blätter "Zeitzonen" und "Analysen",
aber nicht mehr beim Ansteuern eingeblendeter Blättern wie "Hallenplan" und "Dateneingabe". Das ändert sich auch nicht, wenn ich "Application.ScreenUpdating" jeweils direkt vor den Zeilen "Sheets("...").Select" einfüge.

Ich blende mit dem dargestellten Code zu Beginn der Makro-Kette einige Blätter ein, weil das Makro später zum Kopieren usw. auf sie zugreift. Falls es nicht gelingt, den Bildschirm beim Ansteuern eingeblendeter Blätter ruhig zu stellen, kann ich per Makro auch ein ausgeblendetes Blatt erreichen und bearbeiten, ohne es einzublenden? Das würde dann ja evtl. auch mein Problem lösen?

Danke für Deine Hilfe.

Gruß

Hermann
Anzeige
AW: Bildschirm ruhig stellen
08.12.2003 15:25:32
Andi
Hallo Hermann,

wenn Du auf select verzichtest, dürften auch die angesteuerten Arbeitsblätter nicht angezeigt werden.

Schönen Gruß
Andi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige