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

Forumthread: MsgBox ja oder nein oder abbrechen

MsgBox ja oder nein oder abbrechen
09.03.2009 21:25:50
Damian
Hallo
Gibt es eine Msgbox für das speichern mit
Ja oder nein oder abbrechen
Danke für Eure hilfe
Gruss
Damian
Anzeige

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Kommt automatisch bei Schliessen! (owT)
09.03.2009 21:30:13
Renee

AW: Kommt automatisch bei Schliessen! (owT)
09.03.2009 21:36:46
Damian
Hallo Renee
Nein ich wollte nicht das.
Wenn die Abfrage kommt und ich mit ja oder nein beantworte wird die Datei entweder gespeichert oder nicht.
Falls ich mir aber das anders überlege und doch noch etwas in der Datei schreiben möchte will ich in der Datei bleiben und nicht nochmals starten.
Gruss
Damian
Anzeige
Bei mir kommt auch Abbrechen! (owT)
09.03.2009 21:41:06
Renee

AW: Bei mir kommt auch Abbrechen! (owT)
09.03.2009 21:46:32
Damian
Hi
Das ist meine Abfrage
If MsgBox("Sollen Ihre Änderungen gespeichert werden?", vbYesNo) = vbYes Then
Gruss
Damian
AW: Bei mir kommt auch Abbrechen! (owT)
09.03.2009 21:58:03
Herbert
Hi,
verwnde vbYesNoCancel
mfg Herbert
Anzeige
AW: Datei schliesst trotz Cancel bzw. abbrechen
09.03.2009 22:04:43
Damian
Hi Herbert
Nun kommt das abbrechen aber wenn ich darauf klicke wird die Datei trotzdem geschlossen.
Gruss
Damian
Zeig den ganzen Code! (owT)
09.03.2009 22:11:07
Renee

AW: Datei schliesst trotz Cancel bzw. abbrechen
09.03.2009 22:17:06
Nepumuk
Hallo Damian,
so:
Private Sub CommandButton1_Click()
    Select Case MsgBox("Sollen Ihre Änderungen gespeichert werden?", vbYesNoCancel)
        Case vbYes
            ThisWorkbook.Save
            Application.Quit
        Case vbNo
            ThisWorkbook.Saved = True
            Application.Quit
    End Select
End Sub

Gruß
Nepumuk
Anzeige
Schönere Darstellung, 20 sec. zu spät (owT)
09.03.2009 22:21:16
Renee

AW: Schönere Darstellung, 20 sec. zu spät (owT)
09.03.2009 22:27:02
Nepumuk
OK,
aber bei mir wird Excel tatsächlich beendet. Userbild
Gruß
Nepumuk
AW: MsgBox ja oder nein oder abbrechen
09.03.2009 22:11:05
Damian
Hallo
So sieht jetzt mein Code aus.

Private Sub CommandButton1_Click()
If MsgBox("Sollen Ihre Änderungen gespeichert werden?", vbYesNoCancel) = vbYes Then
Application.Quit
ThisWorkbook.Close SaveChanges:=True
Else
Application.Quit
ThisWorkbook.Close SaveChanges:=False
End If
End Sub


Gruss
Damian

Anzeige
AW: MsgBox ja oder nein oder abbrechen
09.03.2009 22:16:20
Renee
Hi Damian,
...aber so:

Private Sub CommandButton1_Click()
Select Case MsgBox("Sollen Ihre Änderungen gespeichert werden?", vbYesNoCancel)
Case vbYes
ThisWorkbook.Close SaveChanges:=True
Application.Quit
Case vbNo
ThisWorkbook.Close SaveChanges:=False
Application.Quit
End Select
End Sub


GreetZ Renée

Anzeige
AW: Es klappt wunderbar
09.03.2009 22:25:34
Damian
Hallo Renée
Habe Deinen Code in profesionell reinoperieriert und es funktioniert.
Danke Renèe
Gruss
Damian
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

MsgBox für Excel VBA: Ja, Nein oder Abbrechen


Schritt-für-Schritt-Anleitung

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor in Excel zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf „VBAProject (DeineDatei.xlsx)“ und wähle „Einfügen“ > „Modul“.

  3. Schreibe den Code: Verwende den folgenden Code, um eine MsgBox mit den Optionen Ja, Nein und Abbrechen zu erstellen:

    Private Sub CommandButton1_Click()
       Select Case MsgBox("Sollen Ihre Änderungen gespeichert werden?", vbYesNoCancel)
           Case vbYes
               ThisWorkbook.Save
               Application.Quit
           Case vbNo
               ThisWorkbook.Saved = True
               Application.Quit
           Case vbCancel
               ' Nichts unternehmen, in der Datei bleiben
       End Select
    End Sub
  4. Füge einen Button hinzu: Gehe zurück zu Excel, füge einen Button aus der Entwicklertools-Leiste hinzu und verlinke ihn mit dem CommandButton1_Click-Ereignis.

  5. Teste den Code: Klicke auf den Button und überprüfe, ob die MsgBox korrekt funktioniert.


Häufige Fehler und Lösungen

  • Fehler: Datei schließt trotz Abbrechen
    Lösung: Stelle sicher, dass der Case vbCancel-Block im Code nichts tut, damit die Datei offen bleibt.

  • Fehler: MsgBox erscheint nicht
    Lösung: Überprüfe, ob der Code im richtigen Ereignis (z.B. Button-Klick) verlinkt ist und der VBA-Editor offen ist.


Alternative Methoden

  • VBA InputBox: Du kannst auch eine InputBox verwenden, um vom Benutzer eine Eingabe zu erhalten. Diese hat jedoch keine integrierten Ja/Nein-Abbrechen-Optionen.

  • Zweifache MsgBox: Eine andere Möglichkeit wäre, zwei MsgBoxen zu verwenden, um die Entscheidung zu verfeinern.


Praktische Beispiele

  1. Einfaches Speichern:

    If MsgBox("Möchten Sie speichern?", vbYesNo) = vbYes Then
       ThisWorkbook.Save
    End If
  2. Mit Abbrechen-Option:

    If MsgBox("Möchten Sie speichern?", vbYesNoCancel) = vbYes Then
       ThisWorkbook.Save
    ElseIf MsgBox("Möchten Sie wirklich abbrechen?", vbYesNo) = vbYes Then
       Application.Quit
    End If

Tipps für Profis

  • Verwende vbYesNoCancel für mehr Flexibilität: Dies ermöglicht dem Benutzer, die Entscheidung zu überdenken und die Datei offen zu lassen.

  • Fehlermeldungen einfügen: Für eine bessere Benutzerfreundlichkeit kannst du Fehlermeldungen einfügen, falls der Benutzer etwas Unerwartetes auswählt.


FAQ: Häufige Fragen

1. Wie kann ich die MsgBox anpassen?
Du kannst den Text und die Schaltflächen in der MsgBox anpassen, indem du die Parameter der MsgBox-Funktion änderst.

2. Funktioniert dieser Code in Access?
Ja, die Logik ist ähnlich, aber du musst die spezifischen Objekte in Access verwenden, um die MsgBox anzuzeigen.

3. Was passiert, wenn ich auf Abbrechen klicke?
Wenn du vbCancel im Code korrekt behandelt hast, bleibt die Datei geöffnet und es passiert nichts.

4. Kann ich die MsgBox mit einer InputBox kombinieren?
Ja, du kannst eine InputBox verwenden, um zusätzliche Informationen vom Benutzer zu erhalten, bevor du die MsgBox anzeigst.

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