Excel VBA - MessageBox

Aus SAP-Wiki
Wechseln zu: Navigation, Suche

Use-Case Messagebox

  • Erfolgsmeldungen
  • Fehlermeldung
  • Informationsmeldungen
  • Hilfsdebugging

Syntax

MsgBox(prompt[, buttons] [, title] [, helpfile, context]))

Prompt

  • Die Meldung (Prompt) muss angegeben werden
  • Mehrere Teile werden mit dem & verbunden (Texte oder Variablen)

Buttons

  • Buttons bestimmt welche Schaltflächen angezeigt werden sollen

Title

  • Titelname

Helpfile und Context

  • wenn auf einen Hilfetext im Meldungsfenster verwiesen wird

Welche Schaltfläche wurde geklickt

Konstanten

  • VbOK = OK wurde geklickt
  • VbCancel = Cancel wurde geklickt
  • VbAbort = Abbruch wurde geklickt
  • VbRetry = Wiederholen wurde geklickt
  • VbIgnore = Ignorieren wurde geklickt
  • VbYes = Ja wurde geklickt
  • VbNo = Nein wurde geklickt
'Listing 9.1, Held S. 236
Sub LöschenMarkierterBereich)
 Dim i as Integer

 I = MsgBox ("Wollen Sie löschen?", 1 + VbQuestion, "Löschenabfrage")

 If i = vbCancel then Exit Sub
  Selection.Clear
 End Sub

Konstanten für Buttons

  • VbOKOnly = Zeigt nur die Schaltfläche OK an
  • VbOKCancel = Zeigt die Schaltfläche OK und Abbrechen an
  • VbAbortRetryIgnore = Zeigt die Schaltflächen Abbruch, Wiederholen und Ignorieren an
  • VbYesNoCancel = Zeigt die Schaltflächen Ja, Nein und Abbrechen an
  • VbYesNo = Zeigt die Schaltflächen Ja und Nein an
  • VbRetryCancel = Zeigt die Schaltflächen Wiederholen und Abbrechen an
  • VbCritical = Zeigt die Schaltfläche mit Stop-Symbol an
  • VbQuestion = Zeigt die Schaltflächen mit Fragezeichen-Symbol
  • VbExclamation = Zeigt die Schaltflächen mit Ausrufezeichen-Symbol an
  • VbInformation = Zeigt die Schaltflächen Info-Symbol
  • VbDefault1 (2) (3) (4) = Default ist erste (zweite/dritte/vierte) Schaltfläche
  • VbApplicationModal = Anwender muss auf das Meldungsfeld reagieren
  • VbSystemModal = Alle Anwendungen werden unterbrochen, bis Benutzer auf Meldungsfenster reagiert
  • VbMsgBoxHelpButton = Fügt dem Fenster Hilfeschaltfläche hinzu

Fehlermeldung

'Listing 8.1: Eine Tabelle beim Öffnen der Mappe voreinstellen
'Held VBA, S. 236
Private Sub Workbook_Open()
  On Error GoTo fehler
  Tabelle1.Activate
  Exit Sub

  fehler:
    MsgBox "Die Tabelle ist nicht vorhanden!"
End Sub

Zeilenumbruch in der Messagebox

Sub MehrzeiligeMeldungausgeben() 
  MsgBox "Der angemeldete Anwender heißt: " & _ 
     Environ("username") & vbLf & _ 
     "Heute ist " & Format(Date, "DDDD, ""der"" DD.MM.YYYY") & vbLf & _ 
     "Aktuelle Uhrzeit: " & Time & " Uhr", vbInformation, _ 
     "Aktuelle Ansage" 
 End Sub