Sicherungskopie einer xlsm-Datei als xlsx erstellen
Schritt-für-Schritt-Anleitung
Um eine Sicherungskopie einer xlsm-Datei als xlsx zu erstellen, kannst du den folgenden VBA-Code verwenden. Achte darauf, dass du den Pfad und den Dateinamen entsprechend anpasst.
Sub Dateicopy()
Dim KdFc, pfad As String
KdFc = "Test" ' Dateiname ohne Endung
pfad = "C:\...\"
merker = ThisWorkbook.FullName
Application.DisplayAlerts = False
With ThisWorkbook
Application.EnableEvents = False
Application.ScreenUpdating = False
.Save
.SaveAs pfad & Replace(KdFc, "xlsm", "xlsx"), xlWorkbookDefault
Application.EnableEvents = True
ClearClipboard = True
.Save
Application.ScreenUpdating = True
Workbooks.Open merker
.Close
End With
Cancel = True
End Sub
In diesem Beispiel wird die Methode SaveAs
verwendet, um die xlsm-Datei in das xlsx-Format zu speichern. Du kannst den Dateityp durch xlWorkbookDefault
festlegen, was für xlsx-Dateien geeignet ist.
Häufige Fehler und Lösungen
Alternative Methoden
Eine alternative Methode zum Speichern deiner xlsm-Datei als xlsx ist die Verwendung von Workbooks.Open
und ActiveWorkbook.SaveAs
. Hier ist ein Beispiel:
Sub Kopie()
Application.ScreenUpdating = False
Dim FName As String
FName = Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, ".")) & "(backup)"
ActiveWorkbook.SaveCopyAs ThisWorkbook.Path & "\" & FName & ".xls"
Workbooks.Open ThisWorkbook.Path & "\" & FName & ".xls"
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & FName & ".xlsx", FileFormat:=51
ActiveWorkbook.Close
Kill ThisWorkbook.Path & "\" & FName & ".xls"
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Hier wird zuerst eine xls-Datei gespeichert, die dann in das xlsx-Format umgewandelt wird.
Praktische Beispiele
Ein praktisches Beispiel wäre die Umwandlung einer Datei namens "Test.xlsm" in "Test(backup).xlsx". Der VBA-Code könnte wie folgt aussehen:
Sub BackupTest()
Dim pfad As String
pfad = "C:\...\"
ActiveWorkbook.SaveCopyAs Filename:=pfad & "Test(backup).xlsx", FileFormat:=51
End Sub
Hierbei wird die Sicherungskopie direkt im angegebenen Pfad gespeichert.
Tipps für Profis
-
Nutze die Application.ScreenUpdating
-Eigenschaft, um die Bildschirmaktualisierung während des Speichervorgangs zu deaktivieren. Dies kann die Performance deiner Makros verbessern.
-
Stelle sicher, dass du die Application.DisplayAlerts
-Eigenschaft korrekt verwendest, um unerwünschte Dialogfelder zu vermeiden, die während des Speichervorgangs erscheinen.
-
Überprüfe den Unterschied zwischen xlsx und xlsm, um zu verstehen, wann du welche Dateiformate verwenden solltest.
FAQ: Häufige Fragen
1. Wie kann ich eine xlsm-Datei in xlsx umwandeln?
Du kannst eine xlsm-Datei in xlsx umwandeln, indem du den SaveAs
-Befehl mit dem entsprechenden FileFormat
verwendest.
2. Was ist der Unterschied zwischen xlsx und xlsm?
Der Hauptunterschied besteht darin, dass xlsm-Dateien Makros enthalten können, während xlsx-Dateien dies nicht tun. Verwende xlsm, wenn du VBA-Code in deiner Datei benötigst.