Makro beim Verlassen einer Tabelle ausführen
Schritt-für-Schritt-Anleitung
Um ein Makro beim Verlassen eines Tabellenblattes in Excel auszuführen, kannst Du den Workbook_SheetDeactivate
-Ereignis verwenden. Folge diesen Schritten:
-
Öffne den VBA-Editor:
- Drücke
ALT + F11
, um den Visual Basic for Applications (VBA) Editor zu öffnen.
-
Gehe zu "DieseArbeitsmappe":
- Im Projekt-Explorer auf der linken Seite, suche Deine Arbeitsmappe und doppelklicke auf "DieseArbeitsmappe".
-
Füge den Code ein:
- Kopiere und füge den folgenden Code in das Modul ein:
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Call Kopie 'Hier den Namen Deines Makros einfügen
End Sub
-
Speichere die Änderungen:
- Vergiss nicht, Deine Änderungen zu speichern, bevor Du den VBA-Editor schließt.
Jetzt wird das Makro "Kopie" jedes Mal ausgeführt, wenn Du das aktive Tabellenblatt wechselst.
Häufige Fehler und Lösungen
Problem: Das Makro wird nicht ausgeführt, wenn ich das Tabellenblatt wechsle.
Lösung: Stelle sicher, dass Du den Code im Modul "DieseArbeitsmappe" eingefügt hast und dass das Makro "Kopie" korrekt benannt ist.
Problem: Ich erhalte eine Fehlermeldung, wenn ich den Code teste.
Lösung: Überprüfe, ob alle verwendeten Variablen und Makros korrekt definiert sind. Achte darauf, dass die Syntax im VBA-Editor korrekt ist.
Alternative Methoden
Falls die oben beschriebene Methode nicht Deinen Anforderungen entspricht, kannst Du auch die Workbook_BeforeClose
-Methode ausprobieren, wenn Du das Arbeitsbuch schließen möchtest. Diese funktioniert jedoch nicht beim Wechseln zwischen Tabellenblättern. Für den gewünschten Effekt beim Tabellenschalten bleibt Workbook_SheetDeactivate
die beste Option.
Praktische Beispiele
Hier ist ein einfaches Beispiel für ein Makro, das beim Verlassen eines Tabellenblattes eine Kopie eines bestimmten Bereichs anlegt:
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Sh.Range("A1:B10").Copy Destination:=Sh.Range("D1")
End Sub
In diesem Beispiel wird der Bereich A1:B10
kopiert und in D1
des verlassenen Tabellenblattes eingefügt.
Tipps für Profis
- Verwendung von Variablen: Du kannst die Namen der Tabellenblätter in Variablen speichern, um den Code flexibler zu gestalten.
- Fehlerbehandlung: Implementiere Fehlerbehandlung in Deinen Makros, um unerwartete Situationen elegant zu handhaben.
- Dokumentation: Kommentiere Deinen Code gut, um später leichter nachvollziehen zu können, was jeder Teil des Codes bewirken soll.
FAQ: Häufige Fragen
1. Frage
Kann ich mehrere Makros beim Verlassen eines Tabellenblattes ausführen?
Antwort: Ja, Du kannst mehrere Call
-Befehle untereinander einfügen, um verschiedene Makros auszuführen.
2. Frage
Funktioniert dies in Excel 2016 und neuer?
Antwort: Ja, die beschriebene Methode funktioniert in Excel 2016, 2019 und Office 365.