Excel beim Schließen automatisch speichern: So erstellst du eine Kopie
Schritt-für-Schritt-Anleitung
Um Excel beim Schließen automatisch eine Kopie der Arbeitsmappe zu erstellen, die keine Makros enthält, kannst du folgendes VBA-Makro verwenden:
- Öffne die Excel-Datei, für die du das Makro erstellen möchtest.
- Drücke
ALT
+ F11
, um den VBA-Editor zu öffnen.
- Gehe zu
Einfügen
> Modul
, um ein neues Modul zu erstellen.
- Füge den folgenden Code in das Modul ein:
Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Worksheets(1).Copy
With ActiveWorkbook.VBProject.VBComponents(ActiveWorkbook.Worksheets(1).Name).CodeModule
.DeleteLines 1, .CountOfLines
End With
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & ThisWorkbook.Worksheets(1).Cells(2, 2) & ".xls"
ActiveWorkbook.Close
End Sub
- Speichere die Arbeitsmappe als
Excel-Makro-fähige Arbeitsmappe (*.xlsm)
.
- Schließe den VBA-Editor und teste das Makro, indem du die Datei schließt.
Häufige Fehler und Lösungen
Alternative Methoden
Wenn du Excel beim Schließen automatisch speichern möchtest, könntest du auch überlegen, die Datei in einem anderen Format zu speichern, das keine Makros unterstützt, wie .xlsx
. Hier ist ein Beispiel:
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & ThisWorkbook.Worksheets(1).Cells(2, 2) & ".xlsx"
Praktische Beispiele
Angenommen, du hast in Zelle B2 den Namen "Bericht" stehen. Mit dem oben genannten Makro wird beim Schließen der Datei eine Kopie mit dem Namen "Bericht.xls" im gleichen Verzeichnis erstellt.
Wenn du zusätzlich einen Passwortschutz für die Kopie einfügen möchtest, kannst du diesen Code verwenden:
With ActiveSheet
.Protect Password:="deinPasswort"
End With
Füge diesen Code nach dem Speichern der Kopie ein, um die Kopie mit einem Passwort zu schützen.
Tipps für Profis
- Achte darauf, dass die Makros in der Originaldatei korrekt funktionieren, bevor du die Kopie erstellst.
- Teste das Makro in einer sicheren Umgebung, bevor du es auf wichtigen Dateien anwendest.
- Nutze die
Workbook_BeforeClose
-Ereignisprozedur, um sicherzustellen, dass die Kopie bei jedem Schließen der Datei erstellt wird.
FAQ: Häufige Fragen
1. Wie kann ich die Kopie in einem anderen Format speichern?
Du kannst den Dateityp im SaveAs
-Befehl ändern, indem du .xlsx
anstelle von .xls
verwendest.
2. Kann ich die Kopie mit einem anderen Passwort schützen?
Ja, du kannst den Schutz mit einem anderen Passwort im gleichen Makro definieren, indem du die Protect
-Methode verwendest.
3. Was passiert, wenn ich das Makro nicht speichere?
Wenn du das Makro nicht speicherst, wird die Funktionalität zur automatischen Kopie beim Schließen nicht verfügbar sein. Stelle sicher, dass du die Datei als .xlsm
speicherst.