Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Anzeige während Makro läuft

Forumthread: Anzeige während Makro läuft

Anzeige während Makro läuft
12.01.2022 13:50:30
SkjnnyJ
Hallo zusammen,
ich bin gerade echt am verzweifeln.
Ich würde gern, während mein Makro im Hintergrund läuft, ein spezielles Tabellenblatt anzeigen lassen. Habe hierzu hier schon einen Lösungsweg gefunden, allerdings scheint Excel nicht so zu wollen, wie ich es will.
Excel soll, wenn das Makro ausgeführt wird, das "Bitte_warten" Tabellenblatt einblenden und auswählen. Dann in dieser Anzeige verharren, bis das Makro fertig ist und dann das Tabellenblatt "Übersicht" anzeigen und das "Bitte_warten" ausblenden.
Wenn ich das Makro manuell per F8 durchklicke, funktioniert der Wechsel auf "Bitte_warten" einwandfrei. Lasse ich das Makro aber automatisch durchlaufen, geschieht der Wechsel nicht.
Hoffe hier kann mir jemand sagen wo mein Fehler liegt ;)

Sub Importieren()
'Daten zur Auswertung importieren
Dim Variable As Long
Application.DisplayAlerts = False
Windows("Auswertung_Tagesbericht_PMI.xlsm").Activate
ActiveWorkbook.Unprotect "TeamPMI"
Sheets("Übersicht").Select
Sheets("Bitte_warten").Visible = True
Sheets("Bitte_warten").Select
Application.ScreenUpdating = False
Hier läuft dann das eigentliche Makro
Windows("Auswertung_Tagesbericht_PMI.xlsm").Activate
Sheets("Bitte_warten").Select
ActiveWindow.SelectedSheets.Visible = False
Sheets("Übersicht").Select
ActiveWorkbook.Protect "TeamPMI"
Application.DisplayAlerts = True
End Sub
Liebe Grüße Skjnny
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Anzeige während Makro läuft
12.01.2022 14:43:41
Pierre
Hallo,
ich mutmaße mal als Unwissender:

Sheets("Bitte_warten").Select
ActiveWindow.SelectedSheets.Visible = False
klingt für mich irgendwie widersprüchlich?
Du hast aber

Application.ScreenUpdating = True
am Ende vergessen.
Gruß Pierre
Anzeige
AW: Anzeige während Makro läuft
12.01.2022 17:33:51
onur
WÄHREND das Makro läuft, kannst du nix machen ausser in die Schleife den Befehl "DoEvents" einbauen.
Du kannst aber Fenster um- bzw zurückschalten bevor bzw nachdem das Makro läuft/lief.
AW: Anzeige während Makro läuft
12.01.2022 17:45:03
volti
Hallo,
spontan fällt mir fogednes ein dazu.
Du hast die Bildschirmaktualisierung ausgeschaltet:
Application.ScreenUpdating = False
Diese musst Du für eine Anzeige auch wieder einschalten:
Sheets("Bitte_warten").Select
Application.ScreenUpdating = True

Sonst passiert da nix.
Bei F8 werden die Aktionen auch bei ausgeschalteter Bildschirmaktualisierung angezeigt.
Gruß
Karl-Heinz
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Anzeige während Makro läuft in Excel


Schritt-für-Schritt-Anleitung

Um sicherzustellen, dass während der Ausführung eines Makros in Excel das gewünschte Tabellenblatt angezeigt wird, kannst Du folgenden VBA-Code verwenden:

Sub Importieren()
    ' Daten zur Auswertung importieren
    Dim Variable As Long
    Application.DisplayAlerts = False
    Windows("Auswertung_Tagesbericht_PMI.xlsm").Activate
    ActiveWorkbook.Unprotect "TeamPMI"

    ' Bitte warten Blatt einblenden und auswählen
    Sheets("Bitte_warten").Visible = True
    Sheets("Bitte_warten").Select
    Application.ScreenUpdating = True

    ' Hier läuft dann das eigentliche Makro
    ' (Makro Logik hier einfügen)

    ' Nach Abschluss das Bitte warten Blatt ausblenden
    Sheets("Bitte_warten").Visible = False
    Sheets("Übersicht").Select
    ActiveWorkbook.Protect "TeamPMI"
    Application.DisplayAlerts = True
End Sub

In diesem Code wird das "Bitte_warten" Tabellenblatt sichtbar gemacht, bevor das Hauptmakro ausgeführt wird. Achte darauf, Application.ScreenUpdating auf True zu setzen, um die Anzeige zu aktualisieren.


Häufige Fehler und Lösungen

  1. Das "Bitte_warten" Blatt wird nicht angezeigt:

    • Stelle sicher, dass Application.ScreenUpdating = True gesetzt ist, bevor Du das Blatt auswählst.
  2. Das Makro läuft nicht richtig durch:

    • Überprüfe, ob Du DoEvents in Schleifen eingebaut hast, um Excel zu ermöglichen, andere Ereignisse zu verarbeiten, während das Makro läuft.
  3. Das Blatt wird nach der Ausführung nicht ausgeblendet:

    • Achte darauf, dass Du das Blatt am Ende des Makros wieder ausblendest.

Alternative Methoden

Falls Du keine Sichtbarkeit des "Bitte_warten" Blattes benötigst, kannst Du auch einen Fortschrittsbalken oder eine Statusanzeige erstellen. Hierbei kannst Du mit UserForms arbeiten, um eine ansprechende Benutzeroberfläche zu schaffen.


Praktische Beispiele

Hier ist ein Beispiel für ein Makro, das eine Statusanzeige anzeigt:

Sub ImportierenMitStatus()
    ' Zeigt eine UserForm als Statusanzeige an
    UserForm1.Show vbModeless
    ' Hier läuft dann das eigentliche Makro
    ' (Makro Logik hier einfügen)
    UserForm1.Hide
End Sub

In diesem Beispiel wird eine UserForm verwendet, die während der Makroausführung angezeigt wird. Diese Methode bietet eine bessere Benutzererfahrung, da der Benutzer nicht mit Tabellenblättern interagieren muss.


Tipps für Profis

  • Verwende Application.ScreenUpdating = False nur, wenn Du sicher bist, dass es notwendig ist. Das kann die Ausführung des Makros beschleunigen, jedoch auch die Anzeige beeinflussen.
  • Integriere DoEvents in lange Schleifen, um die Benutzeroberfläche responsiv zu halten.
  • Teste immer Deine Makros im Debug-Modus (mit F8), um sicherzustellen, dass alle Teile wie gewünscht funktionieren.

FAQ: Häufige Fragen

1. Warum sehe ich das "Bitte_warten" Blatt nicht? Wenn Application.ScreenUpdating auf False gesetzt ist, wird die Anzeige nicht aktualisiert. Stelle sicher, dass Du es auf True setzt, bevor Du das Blatt auswählst.

2. Was ist DoEvents und warum sollte ich es verwenden? DoEvents erlaubt Excel, andere Ereignisse zu verarbeiten, während Dein Makro läuft. Das kann helfen, dass Excel nicht einfriert und die Benutzeroberfläche weiterhin interaktiv bleibt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige