Excel speichern abstellen, beim Schließen Makro starten und Abfrage ob Datei speichern?

Antwort

Um in Excel ein Makro zu erstellen, das beim Schließen der Datei eine Abfrage anzeigt, ob die Datei gespeichert werden soll, kannst du den folgenden VBA-Code verwenden. Dieser Code wird im "DieseArbeitsmappe"-Modul eingefügt: 1. Öffne Excel und drücke `ALT + F11`, um den VBA-Editor zu öffnen. 2. Doppelklicke auf "DieseArbeitsmappe" im Projektfenster. 3. Füge den folgenden Code ein: ```vba Private Sub Workbook_BeforeClose(Cancel As Boolean) Dim Antwort As VbMsgBoxResult Antwort = MsgBox("Möchten Sie die Datei speichern?", vbYesNoCancel + vbQuestion, "Datei speichern") Select Case Antwort Case vbYes ThisWorkbook.Save Case vbNo ' Nichts tun, Datei wird ohne Speichern geschlossen Case vbCancel Cancel = True ' Schließen abbrechen End Select End Sub ``` 4. Schließe den VBA-Editor und speichere die Arbeitsmappe als Makro-fähige Datei (z.B. .xlsm). Mit diesem Code wird beim Schließen der Arbeitsmappe eine Nachricht angezeigt, die fragt, ob die Datei gespeichert werden soll. Je nach Auswahl wird die Datei gespeichert, ohne zu speichern geschlossen oder das Schließen abgebrochen.

Kategorie: Software Tags: Excel Makro Speichern
KI fragen

Verwandte Fragen

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]

Sollte man für die Platzierung der Balken in einem Gantt-Diagramm mit Excel-Makro cm in pt im Arbeitsblatt oder im Makro umrechnen?

Es ist grundsätzlich empfehlenswert, die Umrechnung von Zentimetern (cm) in Punkt (pt) direkt im Makro vorzunehmen, nicht im Arbeitsblatt. Dafür sprechen folgende Gründe: 1. **Flexibil... [mehr]

Wie kann man mit einem Excel-Makro ein Rechteck in der Standardfarbe Orange (Farbcode 49407) ausfüllen?

Um in Excel per Makro (VBA) ein Rechteck mit der Standardfarbe Orange (Farbcode 49407) auszufüllen, kannst du folgenden VBA-Code verwenden: ```vba Sub RechteckOrangeFüllen() Dim shp As... [mehr]

Wie beende ich ein Excel-Makro nach einer MsgBox mit vbYesNo bei Nein per Exit Sub, während es bei Ja fortgesetzt wird?

Das kannst du mit einer einfachen If-Abfrage umsetzen. Beispiel: ```vba If MsgBox("Möchtest du fortfahren?", vbYesNo + vbQuestion, "Bestätigung") = vbNo Then Exit Su... [mehr]

Wie ruft man ein Excel-Makro mit Call auf und übergibt einen Wert?

Um in Excel VBA (Makros) eine Prozedur mit `Call` aufzurufen und dabei einen Wert zu übergeben, gehst du wie folgt vor: **Beispiel:** 1. **Prozedur mit Parameter definieren:** ```vba Sub... [mehr]

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]