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

Message box während Makro läuft

Forumthread: Message box während Makro läuft

Message box während Makro läuft
19.05.2014 12:24:28
Geza
Hallo,
Eigentlich sehr simpel, aber ich komme nicht hin. Ich möchte eine Messagbox mit Text oder ein Objekt mit Text einblenden lassen das während ein Makro läuft auf dem Bildschirm sichtbar bleibt. Wenn der Makro beendet ist soll sich die Box wieder schliessen.
Habe was gefunden was sich aber schliest sobald der Makro zu laufen beginnt
Freu mich über eure Hilfe
Dim WshShell
Set WshShell = CreateObject("WScript.Shell")
WshShell.popup "Daten werden aktualisiert", 2, "Nur nicht hetzen...."

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Message box während Makro läuft
19.05.2014 12:26:24
Hajo_Zi
eine Msgbox hält den Code an, benutze eine Userform und rufe Dein Makro aus der Userform auf.
Gruß Hajo

AW: Message box während Makro läuft
19.05.2014 12:51:04
Klaus
Hallo,
so wie Hajo schrieb, oder noch einfacher:
Erstelle dir eine normale TextBox. Dort schreibst du "bitte warten" hinein oder wasimmer, kannst ja auch die Schriftgröße und die Farben ändern. Die TextBox soll nur sichtbar sein, während dein Makro läuft, das geht so:
Sub DeinMakroname()
ActiveSheet.Shapes.Range(Array("TextBox 1")).Visible = True
[Dein Makro-Code]
ActiveSheet.Shapes.Range(Array("TextBox 1")).Visible = False
End Sub
Ich gehe davon aus, dass dein Makro aus dem Sheet heraus ausgerufen wird in dem die TextBox steht und du NICHT per activate die Arbeitsblätter wechselst.
Grüße,
Klaus M.vdT.

Anzeige
AW: Message box während Makro läuft
19.05.2014 13:24:44
Geza
Hallo an Alle
Vielen Dank!
Ich habe Daniels Lösung angewandt da der Makro diverse Blätter und andere Dateien öffnet und schliesst Klappt 1A.
beste Grüße aus Frankfurt

AW: Message box während Makro läuft
19.05.2014 12:50:58
Daniel
Hi
einfachste Lösung:
1. erstelle ein weiteres Tabellenblatt, auf dem du die Information darstellst (ist egal wie)
2. aktiviere beim Markostart dieses Tabellenblatt
3. schalte die Bildschirmaktualisierung aus (Application.ScreenUpdating = False)
bei Makroende aktivierst du wieder das Blatt, vondem aus das Makro gestartet wurde und schaltest die Bildschirmaktualisierung wieder ein.
Gruß Daniel
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Message Box während Makro läuft in Excel


Schritt-für-Schritt-Anleitung

Um eine Message Box oder ein Infofenster während der Ausführung eines Makros in Excel sichtbar zu halten, kannst Du folgende Schritte befolgen:

  1. Userform erstellen:

    • Gehe in den VBA-Editor (Alt + F11).
    • Erstelle eine neue Userform (Einfügen > Userform).
    • Füge ein Label hinzu, um den Text "Daten werden aktualisiert..." anzuzeigen.
    • Stelle sicher, dass die Userform während der Makroausführung sichtbar bleibt.
  2. Makro anpassen:

    • Füge in Deinem Makro den Code hinzu, um die Userform anzuzeigen und zu verstecken. Hier ein Beispiel:
    Sub DeinMakroname()
       UserForm1.Show vbModeless ' Zeigt die Userform nicht modal an
       ' Dein Makro-Code hier
       UserForm1.Hide ' Versteckt die Userform nach Abschluss
    End Sub
  3. Userform schließen:

    • Stelle sicher, dass die Userform automatisch geschlossen wird, wenn das Makro beendet ist, um die Anwendung sauber zu halten.

Häufige Fehler und Lösungen

  • Fehler: Userform schließt sich sofort:

    • Lösung: Überprüfe, ob Du vbModeless verwendest, damit die Userform nicht modal ist und den Code blockiert.
  • Fehler: Textbox wird nicht angezeigt:

    • Lösung: Stelle sicher, dass die Sichtbarkeit der Textbox oder Userform im richtigen Moment aktiviert ist.

Alternative Methoden

Eine weitere Möglichkeit, ein Excel Infofenster einzublenden, während ein Makro läuft, ist die Verwendung einer Textbox in einem Arbeitsblatt. So kannst Du es umsetzen:

  1. Füge eine Textbox in das Arbeitsblatt ein.
  2. Verwende den folgenden Code, um die Sichtbarkeit der Textbox zu steuern:

    Sub DeinMakroname()
       ActiveSheet.Shapes("TextBox 1").Visible = True
       ' Dein Makro-Code hier
       ActiveSheet.Shapes("TextBox 1").Visible = False
    End Sub

Diese Methode ist einfach und effektiv, besonders wenn Du keine Userform erstellen möchtest.


Praktische Beispiele

Hier ist ein praktisches Beispiel, wie Du eine Userform in Deinem Excel VBA-Projekt verwenden kannst:

Sub DatenAktualisieren()
    UserForm1.Show vbModeless ' Userform einblenden
    Application.ScreenUpdating = False ' Bildschirmaktualisierung ausschalten

    ' Hier kommt Dein Makro-Code, der Daten aktualisiert

    Application.ScreenUpdating = True ' Bildschirmaktualisierung wieder einschalten
    UserForm1.Hide ' Userform nach Abschluss verstecken
End Sub

Tipps für Profis

  • VBA While-Schleife: Wenn Du während der Ausführung eines langen Prozesses Feedback geben möchtest, kannst Du eine While-Schleife verwenden, um die Userform ständig zu aktualisieren.

  • Animationen hinzufügen: Du kannst auch animierte GIFs oder andere visuelle Elemente in Deine Userform einfügen, um das Warten für den Benutzer angenehmer zu gestalten.


FAQ: Häufige Fragen

1. Frage
Wie kann ich die Userform während der Ausführung eines langen Makros aktualisieren?
Antwort: Verwende eine DoEvents-Anweisung in Deinem Makro, um sicherzustellen, dass die Userform während der Ausführung aktualisiert wird.

2. Frage
Kann ich eine Message Box oder Userform anpassen?
Antwort: Ja, Du kannst die Eigenschaften der Userform anpassen, wie Hintergrundfarbe, Schriftgröße und andere Design-Elemente, um sie ansprechender zu gestalten.

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