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

Forumthread: Meldung zeigen während Makro läuft

Meldung zeigen während Makro läuft
27.01.2007 15:32:46
MarioL
Hallo,
Wie kann ich eine Meldung anzeigen lasen während das Makro weiter ausgeführt wird? Am ende des Makros soll die Meldung automatisch geschlossen werden.
In der Meldung soll angezeigt werden welches Makro gerade ausgeführt wird (Bsp.: "MakroX wird ausgeführt").
Danke im voraus, Mario
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Meldung zeigen während Makro läuft
27.01.2007 15:40:39
EtoPHG
Hallo Mario,
Da gibts mehrere Möglichkeiten.
Die einfachste ist die Application.Statusbar, wie hier: https://www.herber.de/forum/archiv/840to844/t840697.htm
Also etwa:

Sub DeinMakro()
Application.Statusbar = "DeinMakro wird ausgeführt"
' Hier dein Code
Application.Statusbar = false
End Sub

Die etwas komplizierte ist mit einer non-modalen Userform, die Du am Anfang des Codes anzeigst und am Schluss schliesst.
Gruss Hansueli
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Meldung während Makro-Ausführung in Excel anzeigen


Schritt-für-Schritt-Anleitung

Um während der Ausführung eines Makros eine Meldung anzuzeigen, kannst Du die Application.StatusBar-Eigenschaft verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung, um dies zu erreichen:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Erstelle ein neues Modul, indem Du im Projektfenster mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" klickst und "Einfügen" > "Modul" wählst.

  3. Füge den folgenden Code in das Modul ein:

    Sub DeinMakro()
        Application.StatusBar = "DeinMakro wird ausgeführt"
        ' Hier dein Code
        Application.StatusBar = False
    End Sub
  4. Ersetze den Kommentar ' Hier dein Code mit dem tatsächlichen Code Deines Makros.

  5. Schließe den VBA-Editor und führe Dein Makro aus.

Die Statusleiste zeigt nun an, welches Makro gerade ausgeführt wird, und wird am Ende des Makros zurückgesetzt.


Häufige Fehler und Lösungen

  • Fehler: Statusleiste wird nicht aktualisiert
    Lösung: Stelle sicher, dass der Code Application.StatusBar = "DeinMakro wird ausgeführt" vor dem Hauptteil Deines Codes steht und Application.StatusBar = False am Ende steht.

  • Fehler: Meldung bleibt stehen
    Wenn die Meldung nicht verschwindet, überprüfe, ob das Makro tatsächlich vollständig ausgeführt wird. Ein Fehler im Code könnte dazu führen, dass das Makro vorzeitig abbricht.


Alternative Methoden

Neben der Verwendung der Application.StatusBar-Eigenschaft gibt es auch die Möglichkeit, eine non-modale Userform anzuzeigen. Hier sind die Schritte:

  1. Erstelle eine Userform im VBA-Editor.
  2. Füge ein Label hinzu, das anzeigt, welches Makro gerade läuft.
  3. Zeige die Userform zu Beginn des Makros an:

    Sub DeinMakro()
        UserForm1.Show vbModeless
        ' Hier dein Code
        Unload UserForm1
    End Sub

Diese Methode erlaubt es Dir, mehr Informationen anzuzeigen und die Userform bleibt während der gesamten Makro-Ausführung offen.


Praktische Beispiele

Hier ist ein praktisches Beispiel, das zeigt, wie Du beide Methoden nutzen kannst:

Sub BeispielMakro()
    Application.StatusBar = "BeispielMakro wird ausgeführt"

    ' Einfache Schleife als Beispiel
    Dim i As Integer
    For i = 1 To 100000
        ' Simuliere Arbeit
    Next i

    Application.StatusBar = False
End Sub

Wenn Du die Userform-Variante verwendest, könnte es so aussehen:

Sub BeispielMitUserform()
    UserForm1.Show vbModeless

    Dim i As Integer
    For i = 1 To 100000
        ' Simuliere Arbeit
    Next i

    Unload UserForm1
End Sub

Tipps für Profis

  • Nutze die Statusleiste, um unterschiedliche Zustände des Makros anzuzeigen, z.B. "Daten werden geladen", "Daten werden verarbeitet" usw.
  • Überlege, die Userform anpassbar zu machen, um z.B. Fortschrittsbalken oder weitere Statusinformationen anzuzeigen.
  • Teste Deine Makros gründlich, um sicherzustellen, dass die Meldungen korrekt angezeigt werden und die Userform nicht blockiert.

FAQ: Häufige Fragen

1. Kann ich die Statusleiste in Excel 2010 und neuer verwenden?
Ja, die Application.StatusBar-Eigenschaft ist in allen modernen Excel-Versionen verfügbar.

2. Wie kann ich sicherstellen, dass die Userform immer sichtbar bleibt?
Verwende vbModeless beim Anzeigen der Userform, damit sie nicht die Ausführung des Makros blockiert.

3. Was passiert, wenn ein Fehler im Makro auftritt?
Wenn ein Fehler auftritt, wird die Statusleiste möglicherweise nicht zurückgesetzt. Stelle sicher, dass Du eine Fehlerbehandlungsroutine implementierst, um dies zu verhindern.

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