Eine Excel-Makro eine Arbeitsmappe zu speichern, vor dem Schließen

Das Makro präsentiert hier ist eine hervorragende Möglichkeit zum Schutz der Nutzer versehentlich ihre Datei vor dem Speichern zu schließen. Nach der Implementierung gewährleistet diese Makro, dass Excel automatisch die Arbeitsmappe speichert, bevor es zu schließen.

Excel wird in der Regel Benutzer warnen, die eine nicht gespeicherte Arbeitsmappe zu schließen versuchen, ihnen eine Möglichkeit gibt, vor dem Schließen zu speichern. viele Anwender blasen kann über die Warnung jedoch und versehentlich auf Nein klicken, Excel zu sagen, ohne zu speichern zu schließen. Mit diesem Makro, schützen Sie diese vor, indem sie automatisch Speichern vor dem Schließen.

Wie die Makro funktioniert

Der Code wird durch das Ereignis Before Arbeitsmappe ausgelöst. Wenn Sie versuchen, die Arbeitsmappe, dieses Ereignis ausgelöst zu schließen, in den Code ausgeführt wird. Der Kern des Codes ist einfach - es fragt die Benutzer, ob sie die Arbeitsmappe schließen möchten. Das Makro wertet dann, ob der Benutzer auf OK geklickt oder Abbrechen.

Die Nachricht, die Sie sehen, wenn Sie versuchen, die Arbeitsmappe zu schließen.
Die Nachricht, die Sie sehen, wenn Sie versuchen, die Arbeitsmappe zu schließen.

Die Auswertung erfolgt mit einer Select Case-Anweisung geschehen. Die Select Case-Anweisung ist eine Alternative zum If-Then-Else-Anweisung, so dass Sie Bedingungsprüfungen in Ihre Makros auszuführen. Die grundlegende Konstruktion einer Select Case-Anweisung ist einfach:

Select Case Fall = Fall =Fall =End Select

Mit einer Select Case-Anweisung, können Sie viele bedingte Überprüfungen durchführen. In diesem Fall werden die Überprüfung Sie einfach für OK oder Abbrechen. Werfen Sie einen Blick auf den Code:

Private Sub Workbook_BeforeClose (Cancel As Boolean) 'Schritt 1: Aktivieren Sie das Meldungsfenster und starten Sie den checkSelect Fall MsgBox ( "Speichern und schließen?", VbOKCancel)' Schritt 2: Abbrechen-Taste gedrückt, so heben sich die closeCase Is = vbCancelCancel = True ' Schritt 3: OK-Taste gedrückt, speichern, um die Arbeitsmappe und closeCase Is = vbOKActiveWorkbook.Save'Step 4: Schließen Sie die Select Case statementEnd Selectend Sub

In Schritt 1 Aktivieren Sie das Meldungsfeld als Bedingungsprüfung für die Anweisung Select Case. Sie verwenden vbOKCancel Argument, dass das OK, um sicherzustellen, und Abbrechen Schaltflächen werden als Möglichkeiten zur Auswahl.

In Schritt 2, wenn der Benutzer im Meldungsfeld auf Abbrechen geklickt haben, sagt das Makro Excel die Workbook_Close Veranstaltung abzusagen, indem Getreu dem Boolean Abbrechen.

Wenn der Benutzer auf die Schaltfläche OK im Meldungsfeld geklickt haben, Schritt 3 wirksam wird. Hier legen Sie Excel sagen die Arbeitsmappe zu speichern. Und weil Sie nicht gesetzt die Boolesche Abbrechen auf True setzt Excel mit der Nähe.

In Schritt 4, schließen Sie einfach die Select Case-Anweisung aus. Jedes Mal, wenn Sie eine Select Case-instanziiert, müssen Sie es mit einem entsprechenden End Select schließen aus.

Wie das Makro zu verwenden,

Um dieses Makro zu implementieren, müssen Sie kopieren und fügen Sie ihn in das Workbook_BeforeClose Ereigniscode-Fenster. Platzieren Sie das Makro dort erlaubt es jedes Mal, wenn Sie zu laufen versuchen, die Arbeitsmappe zu schließen:

  1. Visual Basic-Editor aktivieren, indem Sie Alt + F11 drücken.

  2. Im Projektfenster, finden Sie Ihr Projekt / Arbeitsmappe Namen und klicken Sie auf das Pluszeichen neben ihm alle Blätter zu sehen.

  3. Klicken Sie auf Thisworkbook.

  4. In der Event-Dropdown-Liste, wählen Sie das Ereignis Before.

  5. Geben oder den Code in das neu erstellte Modul einfügen.

    Geben Sie den Code in der Arbeitsmappe Ereignis Before.
    Geben Sie den Code in der Arbeitsmappe Ereignis Before.

Menü