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

Forumthread: MsgBox automatisch schließen

MsgBox automatisch schließen
04.04.2021 11:03:14
Herbert_Grom
Hallo,
bisher habe ich mit dem folgenden Code eine MsgBox automatisch nach x Sek geschlossen. Jetzt funzt es bei mir nicht mehr.
Habt ihr eine Idee, warum?
Vielen Dank im Voraus.
Servus
   Dim WshShell
Set WshShell = CreateObject("WScript.Shell")
WshShell.Popup "Bitte nur die Schaltfläche benutzen!", 1, "!"

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: MsgBox automatisch schließen
04.04.2021 11:11:01
Oberschlumpf
Hi Herbert,
bei mir funktioniert dieses Bsp eigtl wie gewünscht:

Sub test()
Dim WshShell
Set WshShell = CreateObject("WScript.Shell")
WshShell.Popup "Bitte nur die Schaltfläche benutzen!", 1, "!"
End Sub
Ich stellte aber fest, wenn ich den Zeitparameter auf 5 ändere, wird die Box nicht exakt nach 5 Sekunden geschlossen, sondern - mit Blick auf die Uhr unten rechts - nach ca 7 Sekunden.
Aber eben auch dann wird die Box geschlossen....ob die verzögerte Verzögerung :-)) wichtig ist, weiß ich nicht.
Ciao
Thorsten
Anzeige
AW: MsgBox automatisch schließen
04.04.2021 11:26:44
Herbert_Grom
Hi Thorsten,
vielen Dank für deine Info. Bei mir funzt es leider nicht mehr. Aber ich habe ein andere Lösung gefunden (der Post von Storax, ganz unten):
https://www.ms-office-forum.net/forum/showthread.php?t=358734

Servus
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

MsgBox automatisch schließen in Excel VBA


Schritt-für-Schritt-Anleitung

Um eine MsgBox in Excel VBA automatisch schließen zu lassen, kannst du den folgenden Code verwenden. Diese Methode setzt den Zeitparameter für die Popup-Nachricht:

Dim WshShell
Set WshShell = CreateObject("WScript.Shell")
WshShell.Popup "Bitte nur die Schaltfläche benutzen!", 5, "Hinweis"

In diesem Beispiel wird die MsgBox nach 5 Sekunden automatisch geschlossen. Du kannst den Zeitparameter anpassen, um die Dauer zu ändern.


Häufige Fehler und Lösungen

  1. MsgBox schließt sich nicht zur richtigen Zeit

    • Wenn die MsgBox nicht exakt nach der angegebenen Zeit geschlossen wird, kann dies an der Systemzeit liegen. Stelle sicher, dass dein Computer richtig synchronisiert ist.
  2. Fehlermeldungen bei der Ausführung

    • Überprüfe, ob du die richtigen Berechtigungen in Excel hast und dass die Sicherheitsstufe für Makros entsprechend eingestellt ist.
  3. Kein Popup angezeigt

    • Stelle sicher, dass der Code in einem VBA-Modul ausgeführt wird und dass keine anderen Popup-Fenster im Vordergrund sind, die die Sichtbarkeit der MsgBox beeinträchtigen könnten.

Alternative Methoden

Falls die Methode mit WScript.Shell nicht funktioniert oder du eine andere Lösung bevorzugst, kannst du auch die Application.Wait Methode verwenden. Hier ein Beispiel:

Sub AutoCloseMsgBox()
    MsgBox "Bitte nur die Schaltfläche benutzen!"
    Application.Wait Now + TimeValue("00:00:05")
End Sub

In diesem Fall wird die MsgBox angezeigt und dann wartet das Skript 5 Sekunden, bevor es fortfährt. Beachte, dass während dieser Wartezeit Excel "eingefroren" ist.


Praktische Beispiele

Hier sind einige praktische Anwendungsbeispiele für die Verwendung von MsgBoxes in Excel VBA:

  1. Urlaubsplanung 2021 Excel

    • Wenn du eine Urlaubsplanung in Excel 2021 machst, kannst du eine MsgBox verwenden, um Benutzer daran zu erinnern, ihre Urlaubstage einzutragen.
    Sub UrlaubsplanErinnerung()
       Dim WshShell
       Set WshShell = CreateObject("WScript.Shell")
       WshShell.Popup "Bitte trage deinen Urlaub in den Urlaubsplan ein!", 5, "Erinnerung"
    End Sub
  2. Benutzerhinweise

    • Verwende MsgBoxes, um wichtige Informationen oder Warnungen anzuzeigen, während dein VBA-Skript läuft.

Tipps für Profis

  • Verwende benutzerdefinierte Dialoge: Wenn du mehr Kontrolle über das Design und die Funktionen deiner Nachrichten benötigst, erwäge die Verwendung von UserForms anstelle von MsgBoxes.
  • Verkürze den Code: Du kannst deine MsgBox-Funktionen in eigene Subroutinen auslagern, um den Code lesbarer zu gestalten.
  • Automatisierung: Integriere MsgBoxes in größere Automatisierungsprozesse, um die Benutzerführung zu verbessern.

FAQ: Häufige Fragen

1. Warum funktioniert mein MsgBox nicht wie erwartet? Die Ursache kann an der falschen Nutzung des Zeitparameters oder an den Systemeinstellungen liegen. Überprüfe deine Excel- und VBA-Einstellungen.

2. Ist es möglich, die MsgBox anstelle einer Popup-Nachricht in einer UserForm zu verwenden? Ja, du kannst eine UserForm erstellen, die mehr Anpassungsmöglichkeiten bietet, als eine einfache MsgBox.

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