Wie erstelle ich ein Makro, das eine Excel-Datei über den Speichern-unter-Dialog im XLSM-Format speichert?

Antwort

Um in Excel per Makro (VBA) eine Datei mit dem "Speichern unter"-Dialog im Format **.xlsm** zu speichern, kannst du folgenden VBA-Code verwenden: ```vba Sub SpeichernAlsXLSM() Dim Dateiname As Variant Dateiname = Application.GetSaveAsFilename( _ InitialFileName:=ThisWorkbook.Name, _ FileFilter:="Excel-Arbeitsmappe mit Makros (*.xlsm), *.xlsm", _ Title:="Datei speichern unter") If Dateiname <> False Then ThisWorkbook.SaveAs Filename:=Dateiname, FileFormat:=xlOpenXMLWorkbookMacroEnabled End If End Sub ``` **Kurze Erklärung:** - `Application.GetSaveAsFilename` öffnet den "Speichern unter"-Dialog. - Der Filter sorgt dafür, dass nur das Format `.xlsm` angeboten wird. - Wenn der Benutzer einen Namen auswählt, wird die Datei im Makro-fähigen Format gespeichert. **Hinweis:** Beim Ausführen dieses Makros wird die aktuelle Arbeitsmappe unter dem neuen Namen gespeichert. Bereits gespeicherte Makros bleiben erhalten. Weitere Infos zu VBA findest du z.B. bei [Microsoft Learn](https://learn.microsoft.com/de-de/office/vba/api/overview/excel).

Kategorie: Software Tags: Makro Excel XLSM
KI fragen

Verwandte Fragen

Kann ein Excel-Makro die Funktion "Direkte Zellbearbeitung zulassen" ein- und ausschalten?

Nein, ein Excel-Makro (VBA) kann die Option „Direkte Zellbearbeitung zulassen“ nicht direkt ein- oder ausschalten. Diese Einstellung befindet sich unter **Datei > Optionen > Erweiter... [mehr]

Wirken sich Application.OnKey und Application.CommandBars auf andere geöffnete Excel-Dateien aus?

Ja, sowohl `Application.OnKey` als auch `Application.CommandBars` wirken sich auf die gesamte Excel-Anwendung aus – und damit auf **alle geöffneten Arbeitsmappen** (Excel-Dateien) in dieser... [mehr]

Kann man das Excel-Makro 'Workbook_SheetBeforeRightClick' ohne Neustart aufheben?

Ja, du kannst das Excel-Makro `Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)` ohne Neustart von Excel "aufheben" bzw. deaktivieren,... [mehr]

Wie kann ich mit einem Excel-Makro die Zeile 22 ausblenden?

Um in Excel per Makro (VBA) die Zeile 22 auszublenden, kannst du folgenden VBA-Code verwenden: ```vba Rows(22).Hidden = True ``` So gehst du vor: 1. Drücke `ALT + F11`, um den VBA-Editor zu &o... [mehr]

Wie schreibt man ein Excel-Makro, das bei einem Fehler eine MsgBox anzeigt und danach Exit Sub ausführt?

Um in Excel VBA (Makro) eine Fehlermeldung per `MsgBox` anzuzeigen und danach das Makro mit `Exit Sub` zu beenden, kannst du folgenden Code verwenden: ```vba Sub BeispielMakro() ' Hier steht... [mehr]

Wie kann man eine Excel-Datei per Makro mit 'Speichern unter' speichern?

Um eine Excel-Datei per Makro „Speichern unter“ auszuführen, kannst du folgenden VBA-Code verwenden. Damit öffnet sich der „Speichern unter“-Dialog, und der Benutzer... [mehr]

Zeigt Excel im Vollbildmodus die Bearbeitungsleiste an?

In Microsoft Excel ist es standardmäßig so, dass im Vollbildmodus (über „Ansicht“ > „Vollbildmodus“ oder mit [Strg]+[Shift]+[F1] in älteren Versionen) d... [mehr]

Wie kann man in Excel Formeln mit externen Verknüpfungen automatisch aktualisieren, wenn verknüpfte Dateien neu gespeichert werden?

In Excel werden Formeln, die auf externe Dokumente (z. B. andere Excel-Dateien) verweisen, normalerweise beim Öffnen der Datei oder beim manuellen Aktualisieren der Verknüpfungen aktualisier... [mehr]

Wie kann man in Excel mit PowerShell mehrere markierte Zellen auswählen und jeder Zelle einen Rahmen hinzufügen?

Um in Excel mit PowerShell mehreren markierten Zellen jeweils einen Rahmen zuzuweisen, kannst du die Excel COM-Objekte verwenden. Hier ein Beispiel, wie du das machen kannst: ```powershell # Excel st... [mehr]

Wie kann in Excel beim Aktivieren eines Blatts eine benutzerdefinierte Ansicht aufgerufen werden?

In Excel kannst du eine benutzerdefinierte Ansicht nicht direkt beim Aktivieren eines Blattes automatisch aufrufen. Benutzerdefinierte Ansichten (über **Ansicht > Benutzerdefinierte Ansichten*... [mehr]