als unwissender muß ich wiedermal fragen.
Hat jemand eine VBA Lösung parat, wenn eine Datei geschloßen wird dass sie dann automatisch gespeichert wird?
Danke für die Hilfe!
tom
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Not ThisWorkbook.ReadOnly Then
ActiveWorkbook.SaveAs FileName:= _ "Pfad eingeben" & ".xls", FileFormat:=xlNormal
end sub
folgendes im vba-editor in den code-bereich der arbeitsmappe (links im projektexplorer in deiner mappe unter excel-objekte rechtsklick auf arbeitsmappe->code anzeigen)speichern.
mfg
Private Sub Workbook_BeforeClose()
ActiveWorkbook.Save
End Sub
Um eine Excel-Datei automatisch zu speichern, kannst Du VBA verwenden. Hier ist eine Schritt-für-Schritt-Anleitung, wie Du dies umsetzen kannst:
Öffne Excel und gehe auf die Registerkarte "Entwicklertools". Falls diese nicht sichtbar ist, aktiviere sie in den Excel-Optionen.
Klicke auf "Visual Basic", um den VBA-Editor zu öffnen.
Im Projekt-Explorer auf der linken Seite, suche das Projekt Deiner Arbeitsmappe.
Rechtsklicke auf "DieseArbeitsmappe" und wähle "Code anzeigen".
Füge folgenden VBA-Code ein:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Not ThisWorkbook.ReadOnly Then
ActiveWorkbook.Save
End If
End Sub
Schließe den VBA-Editor und speichere die Arbeitsmappe als Makro-aktivierte Datei (z.B. .xlsm).
Teste die Funktion, indem Du die Datei schließt. Sie sollte automatisch gespeichert werden.
Fehler: Die Datei wird nicht automatisch gespeichert.
Fehler: Es erscheint eine Fehlermeldung beim Schließen der Datei.
Automatisches Speichern nach Zeitintervallen: Du kannst den folgenden Code verwenden, um die Datei alle 5 Minuten automatisch zu speichern.
Private Sub Workbook_Open()
Application.OnTime Now + TimeValue("00:05:00"), "AutoSave"
End Sub
Sub AutoSave()
ThisWorkbook.Save
Application.OnTime Now + TimeValue("00:05:00"), "AutoSave"
End Sub
Excel-Optionen: In Excel gibt es auch die Möglichkeit, die automatische Wiederherstellung zu aktivieren. Gehe zu "Datei" > "Optionen" > "Speichern" und aktiviere die Option für die automatische Wiederherstellung.
Beispiel 1: Du möchtest alle 10 Minuten speichern? Ändere einfach die Zeit im OnTime-Befehl auf "00:10:00".
Beispiel 2: Wenn Du eine spezielle Datei speichern möchtest, kannst Du den Code so anpassen:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ActiveWorkbook.SaveAs FileName:="C:\DeinPfad\DeineDatei.xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled
End Sub
1. Wie kann ich sicherstellen, dass die Datei nicht überschrieben wird?
Verwende SaveCopyAs anstelle von Save, um eine Kopie der Datei zu erstellen.
2. Kann ich das automatische Speichern auch für andere Arbeitsmappen aktivieren?
Ja, Du kannst den gleichen Code in anderen Arbeitsmappen verwenden oder eine Vorlage erstellen.
3. Funktioniert das in allen Excel-Versionen?
Ja, die meisten modernen Excel-Versionen unterstützen VBA, aber die genauen Schritte können leicht variieren.