Excel VBA: Speichern und Schließen ohne Nachfrage
Schritt-für-Schritt-Anleitung
Um deine Excel-Datei mit VBA zu speichern und zu schließen, ohne dass eine Nachfrage erscheint, kannst du folgenden Code verwenden:
- Öffne den Visual Basic for Applications (VBA) Editor, indem du
ALT + F11
drückst.
- Füge den folgenden Code in das
ThisWorkbook
-Modul ein:
Private Sub Workbook_Open()
If MsgBox("Dokument bearbeiten?", vbYesNo + vbDefaultButton1) = vbYes Then
ThisWorkbook.SaveAs "U:\USER\Automotive\Abrufe\Automobilaufstellung " & Format$(Date, "yyyy.mm.dd") & ".xls"
End If
End Sub
Private Sub Workbook_BeforeClose(cancel As Boolean)
If MsgBox("Änderungen in Original speichern?", vbYesNo) = vbYes Then
Application.DisplayAlerts = False
ThisWorkbook.Save
ThisWorkbook.SaveAs "U:\USER\Automotive\Abrufe\Automobilaufstellung.xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled
Application.DisplayAlerts = True
Else
ThisWorkbook.Saved = True
End If
End Sub
Mit diesem Code wirst du nicht mehr gefragt, ob du die Datei speichern möchtest, wenn du sie schließt.
Häufige Fehler und Lösungen
-
Fehler: Du wirst trotzdem gefragt, ob du die Änderungen speichern möchtest.
Lösung: Stelle sicher, dass die Zeile ThisWorkbook.Saved = True
korrekt platziert ist, um Excel mitzuteilen, dass die Datei bereits gespeichert wurde.
-
Fehler: Der Code funktioniert nicht wie erwartet.
Lösung: Überprüfe, ob du die richtige Excel-Version verwendest und dass die Datei nicht schreibgeschützt ist.
Alternative Methoden
Falls du eine andere Methode ausprobieren möchtest, kannst du die folgenden Ansätze verwenden:
-
Direktes Speichern: Du kannst die Save
-Funktion verwenden, um die Datei direkt zu speichern, ohne nachzufragen, indem du die Application.DisplayAlerts
-Eigenschaft auf False
setzt.
-
Makros: Erstelle ein Makro, das die Datei speichert und schließt. So kannst du die Funktionalität einfach steuern.
Beispiel für ein einfaches Makro:
Sub SpeichernUndSchließen()
Application.DisplayAlerts = False
ThisWorkbook.Save
ThisWorkbook.Close
Application.DisplayAlerts = True
End Sub
Praktische Beispiele
Hier sind einige praktische Anwendungen, wie du die oben genannten Methoden verwenden kannst:
-
Speichern und Schließen ohne Rückfrage:
Nutze das Makro SpeichernUndSchließen
, um die Datei zu speichern und direkt zu schließen, ohne nachzufragen, ob du speichern möchtest.
-
Automatisches Speichern beim Öffnen:
Der Workbook_Open
-Code speichert die Datei automatisch beim Öffnen, wenn der Benutzer zustimmt.
Tipps für Profis
- Verwende Kommentare: Füge Kommentare zu deinem VBA-Code hinzu, um den Code verständlicher zu machen und zukünftige Änderungen zu erleichtern.
- Backup-Strategie: Implementiere eine Backup-Strategie in deinem VBA-Code, um Datenverlust zu vermeiden.
- Testen: Teste deinen Code gründlich, um sicherzustellen, dass er unter verschiedenen Bedingungen funktioniert.
FAQ: Häufige Fragen
1. Wie kann ich die Anzeige von Warnmeldungen dauerhaft deaktivieren?
Du kannst Application.DisplayAlerts = False
verwenden, um Warnmeldungen zu unterdrücken. Vergiss nicht, sie wieder auf True
zu setzen.
2. Funktioniert dieser Code in Excel 2016?
Ja, der Code ist kompatibel mit Excel-Versionen ab 2010. Stelle sicher, dass du die richtigen VBA-Einstellungen hast.