asterix2
Goto Top

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

Content-Key: 196366

Url: https://administrator.de/contentid/196366

Printed on: April 16, 2024 at 12:04 o'clock

Member: colinardo
colinardo Dec 31, 2012 updated at 17:38:12 (UTC)
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
Member: Asterix2
Asterix2 Jan 01, 2013 at 07:21:56 (UTC)
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
Member: colinardo
colinardo Jan 01, 2013 at 11:09:45 (UTC)
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 !