Thursday, December 30, 2021

"So unterdrücken Sie Änderungen speichern" beim Schließen einer Arbeitsmappe in Excel

Zusammenfassung

In Microsoft Excel können Sie ein Microsoft Visual Basic für Applikationen (VBA)-Makro erstellen, das die Eingabeaufforderung zum Speichern von Änderungen unterdrückt, wenn Sie eine Arbeitsmappe schließen. Dies kann entweder durch Angabe des Status der Arbeitsmappen-Eigenschaft Saved oder durch Unterdrücken aller Warnungen für die Arbeitsmappe erfolgen.

Mehr Informationen

Hinweis: Microsoft bietet Programmierbeispiele nur für Abbildung ohne Gewährleistung oder konkludent. Dies umfasst unter anderem die stillschweigenden Garantien der Marktgängigkeit oder Eignung für einen bestimmten Zweck. In diesem Artikel wird davon ausgegangen, dass Sie mit der demonstrierten Programmiersprache und den Tools vertraut sind, die zum Erstellen und Debuggen von Prozeduren verwendet werden. Microsoft-Supporttechniker können Ihnen helfen, die Funktionalität eines bestimmten Verfahrens zu erklären. Sie werden diese Beispiele jedoch nicht ändern, um zusätzliche Funktionen bereitzustellen oder Verfahren zu erstellen, die Ihren spezifischen Anforderungen entsprechen.

Um die Implementierung eines der folgenden Beispiele vorzubereiten, führen Sie zuerst die folgenden Schritte aus:

  1. Starten Sie Excel und öffnen Sie eine neue Arbeitsmappe.

  2. Drücken Sie ALT+F11, um den Visual Basic-Editor zu starten.

  3. Klicken Sie im Menü Einfügen auf Modul .

  4. Geben Sie den Beispielmakrocode in das Modulblatt ein.

  5. Drücken Sie ALT+F11, um zu Excel zurückzukehren.

  6. Wählen Sie in Microsoft Office Excel 2003 und früheren Excel-Versionen im Menü Extras die Option Makro aus, und klicken Sie dann auf Makros .

    Klicken Sie in Microsoft Office Excel 2007 in der Gruppe Code auf der Registerkarte Entwickler auf Makros .

    Wenn die Registerkarte " Entwickler" nicht verfügbar ist , ziehen Sie Folgendes in Betracht:

    A. Klicken Sie auf die Microsoft Office- Schaltfläche und dann auf Excel-Optionen .

    B. Klicken Sie in der Kategorie Beliebt unter Top-Optionen für die Arbeit mit Excel auf die Option Anzeigen
    Registerkarte Entwickler im
    Kontrollkästchen Multifunktionsleiste , und klicken Sie dann auf OK .

  7. Wählen Sie das gewünschte Makro aus, und klicken Sie dann auf Ausführen .

Die Saved- Eigenschaft gibt den Wert False zurück, wenn seit dem letzten Speichern Änderungen an einer Arbeitsmappe vorgenommen wurden.

Sie können den reservierten Subroutinennamen Auto_Close verwenden , um ein Makro anzugeben, das ausgeführt werden soll, wenn eine Arbeitsmappe geschlossen wird. Dabei können Sie steuern, wie das Dokument behandelt wird, wenn der Benutzer die Dokumente in Excel schließt.

Beispiel 1: Schließen Sie die Arbeitsmappe, ohne die Änderungen zu speichern

Um das Schließen einer Arbeitsmappe zu erzwingen, ohne Änderungen zu speichern, geben Sie den folgenden Code in ein Visual Basic-Modul dieser Arbeitsmappe ein:

Sub Auto_Close()

ThisWorkbook.Saved = True

End Sub

Wenn die Eigenschaft Saved auf True festgelegt ist , reagiert Excel, als ob die Arbeitsmappe bereits gespeichert wurde und seit dem letzten Speichern keine Änderungen vorgenommen wurden.


Die DisplayAlerts- Eigenschaft des Programms kann für denselben Zweck verwendet werden. Das folgende Makro deaktiviert beispielsweise DisplayAlerts , schließt die aktive Arbeitsmappe, ohne die Änderungen zu speichern, und aktiviert dann DisplayAlerts wieder.

Unter CloseBook()

Application.DisplayAlerts = False

ActiveWorkbook.Schließen

Application.DisplayAlerts = True

End Sub

Sie können auch das SaveChanges- Argument der Close- Methode verwenden.

Das folgende Makro schließt die Arbeitsmappe, ohne Änderungen zu speichern:

    Unter CloseBook2()

        ActiveWorkbook.Close savechanges:=False

    End Sub

Beispiel 2: Schließen Sie die Arbeitsmappe und speichern Sie die Änderungen

Um das Speichern von Änderungen in einer Arbeitsmappe zu erzwingen, geben Sie den folgenden Code in ein Visual Basic-Modul dieser Arbeitsmappe ein:

Sub Auto_Close()

If ThisWorkbook.Saved = False Then

ThisWorkbook.Save End If

End Sub

Diese Unterprozedur überprüft, ob die Eigenschaft Saved file auf False gesetzt wurde . Wenn dies der Fall ist, wurde die Arbeitsmappe seit dem letzten Speichern geändert, und diese Änderungen werden gespeichert.

No comments:

Post a Comment