asterix2

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
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

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

colinardo
colinardo 31.12.2012 aktualisiert um 18:38:12 Uhr
Goto Top
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:

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
Asterix2
Asterix2 01.01.2013 um 08:21:56 Uhr
Goto Top
Hallo Uwe,
Ein Frohes Neues Jahr wünsche ich dir!
Dank deiner Hilfe beginnt mein 2013 schon positiv. Dein Code funktioniert ohne Probleme.
Ich danke dir für deine Hilfe.
Gruß Asterix2
colinardo
colinardo 01.01.2013 um 12:09:45 Uhr
Goto Top
Freut mich zu hören, jetzt bitte noch den Beitrag als gelöst markieren dann sind wir alle zufrieden face-wink
Danke, und Happy 2013 !