Wie der Name schon sagt, geht es bei den Worksheet-Ereignissen um Aktivitäten in Bezug auf das einzelne Tabellenblatt.
Im Visual-Basic-Editor (Alt & F11) wird dazu im Projektfenster auf die jeweilige Tabelle doppelt geklickt und dann von "Allgemein auf "Worksheet gewechselt. Nun stehen im rechten Drop-Down-Feld die Ereignisse zur Verfügung.
Im Gegensatz zu den Workbook-Ereignissen, welche bei allen Tabellenblättern auftreten, sind die Worksheet-Ereignisse an das Tabellenblatt gebunden, indem sie stehen.
Parameterinfo
Bei verschiedenen Prozeduren werden auch Parameter übergeben. Diese verhalten sich wie folgt:
Cancel: | Die Boolsche Variabel steht standardmä�ig auf False. Setzt man sie auf True, wird das Ereignis nicht mehr ausgeführt. So kann man z. B. das �ffnen des Auswahlmenüs verhindern, indem man Cancel = True innerhalb der Prozedur "BeforeRightClick setzt. |
Target: | Target steht für den aktiven Bereich und wird häufig dazu benutzt, um den Bereich zum Ausführen eines bestimmten Makros zu bestimmen. So kann man mit: If Target.Address = $A$1 erreichen, da� das Makro nur dann ausgeführt wird, wenn die Zelle A1 aktiv ist. |
Ereignisse:
- Worksheet_Activate
- Tritt ein, wenn das Tabellenblatt aktiviert wird, also Blattwechsel zu diesem Blatt hin.
- Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
- Tritt bei einem Doppelklick innerhalb der Tabelle ein.
- Worksheet_BeforeRightClick(ByVal Target As Excel.Range, Cancel As Boolean)
- Tritt bei einem Klick mit der rechten Maustaste innerhalb der Tabelle ein.
- Worksheet_Calculate
- Tritt ein, wenn Zellen dieses Blattes neu berechnet werden. Dieses Ereignis tritt auch dann ein, wenn sich ein Bezug verändert. Z. B. in B1 steht "= A1" und A1 wird verändert, so wird die Prozedur ausgeführt, da B1 neu berechnet wird.
- Worksheet_Change (ByVal Target As Excel.Range)
- Tritt ein, wenn mindestens eine Zelle im Tabellenblatt geändert wurde. Leider gibt es immer wieder Probleme bei externen Bezügen, wenn z. B. Daten per DDE geholt werden. Man sollte dann prüfen, ob man nicht mit dem Calculate zum Ergebnis kommt, indem man einen Bezug zur DDE-Zelle herstellt (=A1).
- Worksheet_Deactivate
- Tritt ein, wenn man von diesem Blatt aus zu einem anderem wechselt.
- Worksheet_SelectionChange(ByVal Target As Excel.Range)
- Tritt ein, wenn sich die Markierung im Tabellenblatt ändert.