Makro zum Speichern als .xlsm in Excel
Schritt-für-Schritt-Anleitung
Um ein Excel-Makro zu erstellen, das eine Datei im .xlsm-Format speichert, kannst du folgendes VBA-Skript verwenden:
Sub SaveAs_Rechnung()
Dim Pfad As String, Datei As String, Filter As String, Endg As String, File As Variant
Pfad = "C:\Rechnung\"
Datei = ActiveSheet.Range("J8").Value
If Datei = "" Then
MsgBox "Ohne Vor- u. Zuname ist kein Speichern möglich", vbExclamation
Exit Sub
End If
Endg = ".xlsm"
If InStr(Datei, Endg) = 0 Then
Datei = Datei & Endg
End If
Filter = "Excel Files (*" & Endg & "), *" & Endg
File = Application.GetSaveAsFilename(Pfad & Datei, Filter)
If File <> False Then ActiveWorkbook.SaveAs Filename:=File, FileFormat:=xlOpenXMLWorkbookMacroEnabled
End Sub
In diesem Code wird der Benutzer aufgefordert, einen Dateinamen einzugeben, und die Datei wird im .xlsm-Format gespeichert. Achte darauf, dass du die FileFormat-Option angibst, um sicherzustellen, dass die Datei korrekt gespeichert wird.
Häufige Fehler und Lösungen
Ein häufiger Fehler beim Speichern einer .xlsm-Datei ist die Fehlermeldung, dass "mit Makros nicht gespeichert werden kann". Dies kann auftreten, wenn das FileFormat nicht korrekt angegeben wurde. Um dies zu beheben, stelle sicher, dass du den folgenden Code verwendest:
ActiveWorkbook.SaveAs Filename:=File, FileFormat:=xlOpenXMLWorkbookMacroEnabled
Überprüfe auch, ob der Dateiname korrekt eingegeben wurde und keine ungültigen Zeichen enthält.
Alternative Methoden
Neben der Verwendung von VBA gibt es auch die Möglichkeit, Excel-Dateien manuell im .xlsm-Format zu speichern. Gehe dazu einfach zu:
- Datei > Speichern unter
- Wähle den Speicherort aus und gib den Dateinamen ein.
- Wähle im Dropdown-Menü unter "Dateityp" die Option *Excel-Arbeitsmappe mit Makros (.xlsm)** aus.
Praktische Beispiele
Wenn du den oben genannten VBA-Code in deinem Excel-Dokument implementierst, kannst du ihn anpassen, um verschiedene Dateipfade oder -namen zu verwenden. Beispiel:
Pfad = "C:\DeineDateien\"
Ersetze den Pfad entsprechend deinem System, um die Datei an einem gewünschten Ort zu speichern.
Tipps für Profis
- Verwende die
FileDialog-Methode, um dem Benutzer eine benutzerfreundliche Auswahlmöglichkeit für den Speicherort zu bieten.
- Teste dein Makro in einer sicheren Umgebung, um sicherzustellen, dass alles korrekt funktioniert, bevor du es in einem produktiven Umfeld verwendest.
- Dokumentiere deinen Code gut, um anderen (oder dir selbst in der Zukunft) das Verständnis zu erleichtern.
FAQ: Häufige Fragen
1. Wie kann ich das Makro anpassen, um in ein anderes Format zu speichern?
Du kannst das FileFormat-Argument im SaveAs-Befehl ändern, z.B. FileFormat:=xlWorkbookDefault für .xlsx.
2. Was ist der Unterschied zwischen .xlsm und .xlsx?
Die .xlsm-Datei unterstützt Makros, während .xlsx-Dateien keine Makros enthalten können. Wenn du ein Makro verwenden möchtest, musst du im .xlsm-Format speichern.