Hallo,
ich versuche Änderungen in einem Tabellenblatt per Event an andere Tabellenblätter mitzuteilen.
Dazu habe ich Code direkt in die Code Fenster der Tabellenblätter geschrieben (implizite Annahme: hier handelt es sich um jeweils Klassenmodule).
Leider reagiert das Empfänger-Sheet nicht auf das nachweislich gefeuerte Event im Sender-Sheet.
Ich vermute, es liegt an der nicht belegten Objektvariable "mSender". Allerdings handelt es sich hier um die Klasse "Tabelle1", die beim Öffnen der Exceldatei ja von Excel im Hintergrund automatisch immer initialisiert wird.
Irgendwelche Ideen?
Code:
Tabelle1 (Sender) -> hat ein Custom Event, das gefeuert wird
Option Explicit
Public Event fire(arg As Variant)
Private Sub Worksheet_SelectionChange(ByVal target As Range)
RaiseEvent fire(target.address)
End Sub
Tabelle2 (Empfänger) -> hat einen EventHandler, der auf das Event reagiert
Option Explicit
Private WithEvents mSender As Tabelle1
Private Sub mSender_fire(arg as Variant)
Debug.Print arg
End Sub |