Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

MessageBox nach 5 Sekunden ausblenden

Forumthread: MessageBox nach 5 Sekunden ausblenden

MessageBox nach 5 Sekunden ausblenden
Ludwig
Hallo Experten
Ich möchte eine MsgBox nur 5 Sekunden anzeigen - danach soll sie automatisch schließen!
Hat jemand ein Beispiel dazu?
Vielen Dank im voraus.
MfG
Ludwig
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: MessageBox nach 5 Sekunden ausblenden
22.10.2010 13:33:52
Hajo_Zi
Hallo Ludwig,
        ' Copyright Anzeige, Code von Silvan und DieterB aus dem Phorum-excelhost
Dim WsShell                     ' Variable für Copyright
Set WsShell = CreateObject("WScript.Shell")
LoI = WsShell.Popup("Diese Dateiverwaltung wurde entwickelt von Hajo Ziplies " _
& "und Karin Mohnhaupt." & vbCrLf & vbCrLf & "Die Arbeitsmappe ist wegen " _
& "der besonderen Programmierung der Symboleiste" & vbCrLf _
& "nur ab Version 2007 einsetzbar." & vbCrLf & vbCrLf & vbCrLf _
& Chr(169) & " 2007", 3, "Copyright-Hinweis")

Anzeige
AW: MessageBox nach 5 Sekunden ausblenden
22.10.2010 13:45:15
Ludwig
Hallo Hajo
Wie wird LoI deklariert?
Gehts nicht einfacher?
Gruß Ludwig
AW: MessageBox nach 5 Sekunden ausblenden
22.10.2010 13:47:33
Hajo_Zi
Hallo Ludwig,
als Long.
Ist mir nicht bekannt. Ich bin schon froh das ich diese Variante kenne.
Gruß Hajo
AW: MessageBox nach 5 Sekunden ausblenden
22.10.2010 13:49:20
Ludwig
Hallo Hajo
Super, DANKE!
Gruß Ludwig
Anzeige
Wie wird LoI deklariert?
22.10.2010 13:57:44
ransi
Hallo Ludwig
Wie wird LoI deklariert?
As Integer ist OK.
Public Sub machs()
Dim L As Long
Dim I As Integer
Dim myWSH As Object
Set myWSH = CreateObject("Wscript.Shell")
L = 2
I = myWSH.popup("Zu in " & L & " Sekunden.", L, "Ein Hinweis")
If I = 1 Then
    MsgBox "OK oder Schließkreuz"
    Else:
    MsgBox L & " Sekunden abgelaufen"
End If
End Sub


ransi
Anzeige
;
Anzeige

Infobox / Tutorial

MsgBox automatisch nach 5 Sekunden schließen


Schritt-für-Schritt-Anleitung

Um eine MsgBox in Excel VBA automatisch nach 5 Sekunden zu schließen, kannst du den folgenden VBA-Code verwenden. Dieser Code nutzt das WScript.Shell-Objekt, um eine Popup-Nachricht zu erstellen.

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

  2. Füge ein neues Modul hinzu, indem du im Menü "Einfügen" auf "Modul" klickst.

  3. Kopiere den folgenden Code in das Modul:

    Sub ShowMessageBox()
       Dim WsShell As Object
       Set WsShell = CreateObject("WScript.Shell")
       Dim LoI As Long
       LoI = WsShell.Popup("Diese Dateiverwaltung wurde entwickelt von Hajo Ziplies und Karin Mohnhaupt.", 5, "Copyright-Hinweis")
    End Sub
  4. Schließe den VBA-Editor und führe das Makro ShowMessageBox aus.

Die MsgBox erscheint nun für 5 Sekunden und schließt sich automatisch.


Häufige Fehler und Lösungen

  • Fehler: "Variable nicht definiert"

    • Lösung: Stelle sicher, dass du Dim für jede Variable verwendest, wie im Beispiel gezeigt.
  • Fehler: MsgBox schließt sich nicht

    • Lösung: Überprüfe, ob du die richtige Anzahl von Sekunden in der Popup-Methode angegeben hast. Der zweite Parameter steht für die Zeit in Sekunden.

Alternative Methoden

Falls du eine andere Methode bevorzugst, um eine Nachricht für eine bestimmte Zeit anzuzeigen, könntest du auch eine UserForm verwenden, die nach einer bestimmten Zeit geschlossen wird. Hier ist ein einfacher Ansatz:

  1. Erstelle eine UserForm mit dem Namen frmMessage.

  2. Füge ein Label hinzu, um den Text anzuzeigen.

  3. Verwende den folgenden Code in der UserForm:

    Private Sub UserForm_Activate()
       Application.Wait Now + TimeValue("00:00:05")
       Unload Me
    End Sub
  4. Um die UserForm anzuzeigen, kannst du diesen Code verwenden:

    Sub ShowUserForm()
       frmMessage.Show
    End Sub

Praktische Beispiele

Hier ist ein Beispiel, das zeigt, wie du den Popup-Dialog zur Anzeige von Informationen verwenden kannst:

Sub InfoMessage()
    Dim WsShell As Object
    Set WsShell = CreateObject("WScript.Shell")
    WsShell.Popup "Achtung! Die Verarbeitung wird in 5 Sekunden fortgesetzt.", 5, "Warnung"
End Sub

Du kannst die Nachricht entsprechend anpassen, um relevante Informationen für deine Nutzer bereitzustellen.


Tipps für Profis

  • Nutze die vbCrLf-Konstante, um Zeilenumbrüche in deinen MsgBox-Nachrichten zu integrieren.
  • Experimentiere mit verschiedenen Zeitspannen, um die Benutzerfreundlichkeit zu optimieren.
  • Verwende vbInformation, vbCritical oder vbExclamation, um unterschiedliche Icons in der MsgBox anzuzeigen.

FAQ: Häufige Fragen

1. Frage
Kann ich die Zeit für die MsgBox ändern?
Ja, der zweite Parameter in der Popup-Methode bestimmt die Zeit in Sekunden. Du kannst ihn nach Bedarf anpassen.

2. Frage
Funktioniert das auch in älteren Excel-Versionen?
Der Code ist ab Excel 2007 funktionsfähig, da das WScript.Shell-Objekt erst ab dieser Version unterstützt wird.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige