Makro beim Schließen der Tabelle ausführen
Schritt-für-Schritt-Anleitung
Um ein Excel-Makro beim Schließen einer Tabelle auszuführen, folge diesen Schritten:
-
Öffne den VBA-Editor:
- Drücke
ALT + F11
, um den Visual Basic for Applications (VBA) Editor zu öffnen.
-
Navigiere zu "DieseArbeitsmappe":
- Im Projekt-Explorer findest du deine Arbeitsmappe. Doppelklicke auf "DieseArbeitsmappe".
-
Füge den folgenden Code ein:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
DeineProzedur
End Sub
- Ersetze
DeineProzedur
durch den Namen des Makros, das du ausführen möchtest.
-
Speichere die Arbeitsmappe:
- Stelle sicher, dass du die Datei im Format „Excel-Arbeitsmappe mit Makros“ (xlsm) speicherst.
-
Teste das Makro:
- Schließe die Arbeitsmappe und überprüfe, ob das Makro wie gewünscht ausgeführt wird.
Häufige Fehler und Lösungen
Alternative Methoden
Eine alternative Methode, um ein Makro beim Schließen auszuführen, ist die Verwendung einer Auto_Close
-Prozedur. Diese Methode gilt jedoch als veraltet. Hier ist ein Beispiel:
Sub Auto_Close()
DeineProzedur
End Sub
Diese Methode wird jedoch nicht empfohlen, da sie in Zukunft möglicherweise nicht mehr unterstützt wird. Daher ist die Verwendung von Workbook_BeforeClose
die bessere Wahl.
Praktische Beispiele
-
Kopieren von Daten beim Schließen:
Wenn du ein Makro hast, das Daten kopiert, kannst du den Code so anpassen:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("Datenblatt")
ws.Range("A1:B10").Copy Destination:=ThisWorkbook.Worksheets("Zielblatt").Range("A1")
End Sub
-
Speichern vor dem Schließen:
Du kannst auch sicherstellen, dass die Datei vor dem Schließen gespeichert wird:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Save
DeineProzedur
End Sub
Tipps für Profis
- Verwende Fehlerbehandlung in deinem Makro, um sicherzustellen, dass unerwartete Fehler nicht zum Absturz der Anwendung führen.
- Teste deinen Code schrittweise, indem du die
F8
-Taste im VBA-Editor verwendest, um den Code Zeile für Zeile auszuführen.
- Halte deine Makros gut dokumentiert, sodass du später leicht nachvollziehen kannst, was jeder Teil des Codes macht.
FAQ: Häufige Fragen
1. Wie kann ich ein Makro ausführen, wenn ich die Datei speichere?
Du kannst eine ähnliche Prozedur wie Workbook_BeforeClose
verwenden, aber dafür müsstest du Workbook_BeforeSave
verwenden:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
DeineProzedur
End Sub
2. Was passiert, wenn ich das Makro aus einem anderen Modul aufrufen möchte?
Du kannst das Makro aus einem Standardmodul heraus aufrufen, aber um es beim Schließen der Arbeitsmappe automatisch auszuführen, muss es in "DieseArbeitsmappe" platziert werden.