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

msgbox- if yes then

Forumthread: msgbox- if yes then

msgbox- if yes then
12.07.2002 15:24:39
sina
Hallo,
ich möchte aus eine msgbox eine Abfrage ja/nein machen. Wie kann ich denn danach dann - bei entsprechender antwort- das eine bzw das andere veranlassen.
bsp: wollen sie das programm speichern?
bei ja soll er, bei nein eben nicht.
danke schon mal!
sina

Anzeige

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

Betreff
Datum
Anwender
Anzeige
erledigt
12.07.2002 15:33:26
sina
hat sich erledigt,
Re: msgbox- if yes then
12.07.2002 15:37:32
Jens Tietje
Hallo Sina,

sieh mal in der Excel-Hilfe für Messagebox nach:
Da findest Du folgendes Beispiel:

Dim Mldg, Stil, Titel, Hilfe, Ktxt, Antwort, Text1
Mldg = "Möchten Sie fortfahren ?" ' Meldung definieren.
Stil = vbYesNo + vbCritical + vbDefaultButton2 ' Schaltflächen
' definieren.
Titel = "MsgBox-Demonstration" ' Titel definieren.
Hilfe = "DEMO.HLP" ' Hilfedatei
' definieren.
Ktxt = 1000 ' Kontext für Thema
' definieren.
Antwort = MsgBox(Mldg, Stil, Titel, Hilfe, Ktxt) ' Meldung anzeigen.
If Antwort = vbYes Then ' Benutzer hat "Ja" ' gewählt.
Text1 = "Ja" ' Operation ausführen.
Else ' Benutzer hat "Nein"
' gewählt.
Text1 = "Nein" ' Operation ausführen.
End If

Gruss

Jens

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

MsgBox Abfragen in VBA: Ja oder Nein


Schritt-für-Schritt-Anleitung

Um eine MsgBox in VBA zu erstellen, die eine Ja/Nein-Abfrage ermöglicht, folge diesen Schritten:

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

  2. Füge ein neues Modul ein:

    • Rechtsklick auf "VBAProject (DeineDatei.xlsx)" > Einfügen > Modul.
  3. Kopiere und füge den folgenden Code in das Modul ein:

    Sub MsgBoxAbfrage()
       Dim Antwort As VbMsgBoxResult
       Antwort = MsgBox("Möchten Sie das Programm speichern?", vbYesNo + vbCritical, "Speichern?")
    
       If Antwort = vbYes Then
           ' Code zum Speichern hier einfügen
           MsgBox "Das Programm wurde gespeichert.", vbInformation
       Else
           MsgBox "Das Programm wurde nicht gespeichert.", vbInformation
       End If
    End Sub
  4. Schließe den VBA-Editor und führe das Makro über ALT + F8 aus.

  5. Teste die MsgBox, indem du auf "Ja" oder "Nein" klickst.


Häufige Fehler und Lösungen

  • Fehler: „Typ nicht definiert“
    Lösung: Stelle sicher, dass der richtige Verweis auf die VBA-Bibliothek vorhanden ist. Überprüfe, ob der Code korrekt in einem Modul steht.

  • Fehler: MsgBox zeigt keine Schaltflächen an
    Lösung: Überprüfe die Syntax der MsgBox und stelle sicher, dass die Parameter korrekt gesetzt sind (z.B. vbYesNo + vbCritical).


Alternative Methoden

Wenn du eine Eingabeaufforderung benötigst, die auch andere Optionen bietet, kannst du die InputBox verwenden. Hier ist ein Beispiel:

Sub InputBoxAbfrage()
    Dim BenutzerEingabe As String
    BenutzerEingabe = InputBox("Geben Sie 'Ja' oder 'Nein' ein:", "Eingabeaufforderung")

    If BenutzerEingabe = "Ja" Then
        MsgBox "Sie haben Ja gewählt.", vbInformation
    ElseIf BenutzerEingabe = "Nein" Then
        MsgBox "Sie haben Nein gewählt.", vbInformation
    Else
        MsgBox "Ungültige Eingabe.", vbCritical
    End If
End Sub

Praktische Beispiele

Hier sind einige Anwendungsbeispiele für die MsgBox mit Ja/Nein-Abfrage:

  1. Speichern von Daten: Vor dem Schließen einer Datei fragen, ob die Änderungen gespeichert werden sollen.
  2. Bestätigung vor kritischen Aktionen: Vor dem Löschen von Daten oder dem Ausführen von Aktionen, die nicht rückgängig gemacht werden können.
Sub LoeschenBestaetigung()
    Dim Antwort As VbMsgBoxResult
    Antwort = MsgBox("Möchten Sie die ausgewählte Zeile löschen?", vbYesNo + vbCritical, "Löschbestätigung")

    If Antwort = vbYes Then
        ' Code zum Löschen hier einfügen
        MsgBox "Die Zeile wurde gelöscht.", vbInformation
    Else
        MsgBox "Die Zeile wurde nicht gelöscht.", vbInformation
    End If
End Sub

Tipps für Profis

  • Verwende vbCritical für wichtige Warnungen und vbInformation für allgemeine Informationen, um den Benutzer richtig zu informieren.
  • Kombiniere die MsgBox mit anderen VBA-Funktionen, um komplexere Benutzerinteraktionen zu ermöglichen.
  • Denke daran, die MsgBox in einer Fehlerbehandlungsroutine zu verwenden, um unerwartete Abstürze zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich die MsgBox anpassen?
Du kannst die Schaltflächen und den Typ der MsgBox anpassen, indem du die entsprechenden Konstanten wie vbYesNo oder vbCritical kombinierst.

2. Was passiert, wenn der Benutzer die MsgBox schließt?
Wenn der Benutzer die MsgBox schließt, wird der Wert vbCancel zurückgegeben. Du kannst dies in deinem Code berücksichtigen, um die Reaktion darauf festzulegen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige