Datei per VBA unter xlsx speichern
Hallo,
ich erzeuge per VBA ein neues Workbook, welches den Namen einer Zelle trägt. Dieses Workbook wird dann leider unter
xlsm gespeichert. Wie kann ich per VBA das ganze unter xlsx speichern??
Hier mein bisheriger Code:
Public Sub SpeichernUnter()
'Quelle: Melanie Breden
Const strPath As String = "D:\" 'Pfad anpassen
Dim strFile As String
strFile = ActiveSheet.Range("A2").Value
If Dir(strPath) = "" Then
MsgBox "Pfad existiert nicht"
Exit Sub
End If
If Dir(strPath & strFile & ".xlsx") = "" Then
ActiveWorkbook.SaveAs strPath & strFile
Else
MsgBox "Datei existiert bereits"
End If
End Sub
Sollten wir uns vor 0 Uhr nicht hören, euch allen einen Guten Rutsch.
Gruß Asterix2
ich erzeuge per VBA ein neues Workbook, welches den Namen einer Zelle trägt. Dieses Workbook wird dann leider unter
xlsm gespeichert. Wie kann ich per VBA das ganze unter xlsx speichern??
Hier mein bisheriger Code:
Public Sub SpeichernUnter()
'Quelle: Melanie Breden
Const strPath As String = "D:\" 'Pfad anpassen
Dim strFile As String
strFile = ActiveSheet.Range("A2").Value
If Dir(strPath) = "" Then
MsgBox "Pfad existiert nicht"
Exit Sub
End If
If Dir(strPath & strFile & ".xlsx") = "" Then
ActiveWorkbook.SaveAs strPath & strFile
Else
MsgBox "Datei existiert bereits"
End If
End Sub
Sollten wir uns vor 0 Uhr nicht hören, euch allen einen Guten Rutsch.
Gruß Asterix2
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 196366
Url: https://administrator.de/forum/datei-per-vba-unter-xlsx-speichern-196366.html
Ausgedruckt am: 12.05.2025 um 17:05 Uhr
3 Kommentare
Neuester Kommentar
Mit der Standardmethode "SaveAs" speicherst du das aktive Dokument und da dies VBA-Makros enthält welche nur in *.xlsm - Arbeitsmappen vorkommen dürfen speichert Excel immer als xlsm. Also wenn du VBA-Code zusammen in einem Dokument speichern willst musst du als *.xlsm speichern !!
Um die Makros zu entfernen musst du die Speichermethode mit folgender Option erweitern:
Es kommt dann eine Abfrage von Excel ob du die Makros entfernen möchtest...
Oder du erstellst ein Dokument per Code und speicherst dies dann als *.xlsx:
Guten Rutsch wünscht ..
Uwe
Um die Makros zu entfernen musst du die Speichermethode mit folgender Option erweitern:
ActiveWorkbook.SaveAs Filename:=strPath & strFile, FileFormat:=xlOpenXMLWorkbook
Es kommt dann eine Abfrage von Excel ob du die Makros entfernen möchtest...
Oder du erstellst ein Dokument per Code und speicherst dies dann als *.xlsx:
Dim newdoc As Workbook
Set newdoc = Application.Workbooks.Add
newdoc.SaveAs strPath & strFile
Guten Rutsch wünscht ..
Uwe