Gibt es eine Msgbox für das speichern mit
Ja oder nein oder abbrechen
Danke für Eure hilfe
Gruss
Damian
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
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
Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor in Excel zu öffnen.
Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf „VBAProject (DeineDatei.xlsx)“ und wähle „Einfügen“ > „Modul“.
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
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.
Teste den Code: Klicke auf den Button und überprüfe, ob die MsgBox korrekt funktioniert.
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.
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.
Einfaches Speichern:
If MsgBox("Möchten Sie speichern?", vbYesNo) = vbYes Then
ThisWorkbook.Save
End If
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
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.
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.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen