Excel-Datei im .xlsx Format speichern
Schritt-für-Schritt-Anleitung
Um eine Excel-Datei im .xlsx Format zu speichern, kannst du die folgende VBA-Prozedur verwenden:
Sub DateiSpeichern()
Dim str As String
Const Lw = "c:\"
Const Pfad = "C:\Users\master\Documents\"
'Ermitteln des Dateinamens
str = ActiveWorkbook.Name
'Richtiges Laufwerk und Pfad einstellen
On Error GoTo Fehler
ChDrive Lw
ChDir Pfad
'Arbeitsmappe speichern
ActiveWorkbook.SaveAs Filename:="C:\Users\master\Documents\" & Range("A1").Value & "_" & Range("A2").Value, _
FileFormat:=xlOpenXMLWorkbook, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=True
Exit Sub
Fehler:
MsgBox "Laufwerk oder Verzeichnis konnte nicht gefunden werden!"
End Sub
Achte darauf, den FileFormat Parameter auf xlOpenXMLWorkbook zu setzen, um die Datei im .xlsx Format zu speichern.
Häufige Fehler und Lösungen
-
Fehlermeldungen beim Speichern: Wenn du versuchst, eine Arbeitsmappe mit Makros im .xlsx Format zu speichern, kann es zu Fehlermeldungen kommen. In diesem Fall musst du die Datei entweder als .xlsm speichern oder die Fehlermeldungen temporär ausschalten.
-
Dateiendung nicht korrekt: Stelle sicher, dass die Zelle, die den Dateinamen enthält, keine .xls Endung hat. Ändere sie gegebenenfalls in .xlsx.
Alternative Methoden
Eine alternative Methode zum Speichern im .xlsx Format könnte wie folgt aussehen:
Sub SaveAsXLSX()
'Datei ohne Makros (als XLSX-Datei) speichern
Application.DisplayAlerts = False 'Fehlermeldungen aus
ActiveWorkbook.SaveAs Filename:=Environ("USERPROFILE") & "\Desktop\Test33.xlsx", _
FileFormat:=xlOpenXMLWorkbook
Application.DisplayAlerts = True 'Fehlermeldungen an
End Sub
Diese Methode speichert die Datei direkt auf dem Desktop und schaltet die Fehlermeldungen während des Speichervorgangs aus.
Praktische Beispiele
Hier sind einige Beispiele zur Verwendung der SaveAs Methode:
-
Speichern einer .xlsm Datei als .xlsx:
Sub SpeichernAlsXLSX()
ActiveWorkbook.SaveAs Filename:="C:\Users\master\Documents\MeineDatei.xlsx", _
FileFormat:=xlOpenXMLWorkbook
End Sub
-
Speichern mit spezifischem Namen:
Sub SpeichernMitNamen()
Dim dateiname As String
dateiname = InputBox("Gib den Dateinamen ein:")
ActiveWorkbook.SaveAs Filename:=dateiname & ".xlsx", _
FileFormat:=xlOpenXMLWorkbook
End Sub
Tipps für Profis
- Nutze
Application.DisplayAlerts = False, um störende Fehlermeldungen während des Speicherns zu vermeiden.
- Überprüfe die Dateinamen und -pfade immer, um sicherzustellen, dass sie korrekt sind, bevor du die Datei speicherst.
- Verwende
FileFormat:=xlOpenXMLWorkbook, um sicherzustellen, dass die Datei im .xlsx Format gespeichert wird.
FAQ: Häufige Fragen
1. Wie speichere ich eine Excel-Datei im .xlsx Format mit VBA?
Verwende die ActiveWorkbook.SaveAs Methode mit dem FileFormat:=xlOpenXMLWorkbook.
2. Kann ich eine .xlsm Datei als .xlsx speichern?
Ja, du kannst eine .xlsm Datei als .xlsx speichern, aber du musst sicherstellen, dass keine Makros in der Datei enthalten sind, oder die Fehlermeldungen ausschalten.
3. Was ist der Unterschied zwischen .xlsm und .xlsx?
Eine .xlsm Datei kann Makros enthalten, während eine .xlsx Datei keine Makros unterstützt.