Hallo Ricky,
das geht natürlich, ist aber mit vorsicht zu genießen! Ein reines
Private Sub Worksheet_Change(ByVal Target As Range)
End Sub
Makro wird bei jeder Änedrung ausgeführt. Das kann, vor allem wenn es eine längere Prozedur ist, sehr störend und speicherhungrig sein.
Empfehlenswert wäre es, eine bestimmte Spalte oder Zeile zu haben und die Ausführung auf Änderungen indieser zu beschränken:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 5 Then Exit Sub
[...Dein Code..]
End Sub
Dann würden nur bei Änderungen in Spalte E das Programm ausgeführt: Sicher praktischer. Bei mehreren Spalten dann eben:
If Target.Column <> 5 And Target.Column <> 7 And Target.Column <> 9 Then Exit Sub
Die Prozedur Private Sub Worksheet_Change(ByVal Target As Range) muß im Klassenmodul des betreffenden Arbeitsblattes, meist "Tabelle1 (Tabelle1)" oder ähnlich stehen.
Severus
|