Hallo Jochen,
Post by Jochen WalerkaJa, ist notwendig. Ich färbe unterschiedliche Bereiche per VBA ein - da darf das Event nicht anspringen, erst wenn ein Anwender reinklickt.
Thomas meint, ob es nötig sei mit SELECT zu arbeiten, um den Bereich, der
umgefärbt werden soll, anzusprechen.
Normalerweise ist es im Makro (wie Du gerade erleben darfst) ungünstig, mit
SELECT zu arbeiten.
Statt:
Range("a1:b2").Select
Selection.Font.Color=Rgb(255,0,0)
kann man auch programmieren:
Range("a1:b2").Font.Color=Rgb(255,0,0)
oder auch:
Set Bereich = Range("a1:b2")
Bereich.Font.Color=Rgb(255,0,0)
Bereich.Borders.Color=....
Dann wird das SelectionChange-Ereignis nicht aufgerufen werden, da die Auswahl
eben nicht geändert wird.
Die Variante, mal eben das Abarbeiten der Events ab- und später wieder
anzuschalten enthält die Gefahr, dass vor dem Wiedereinschalten das Makro (z.B.
wegen eines Fehlers) beendet wird. Von alleine schaltet sich die
Eventverarbeitung nämlich nicht wieder an. Man kann versuchen, das mit
geeigneter Fehlerbehandlung abzufangen, es bedeutet aber deutlichen Zusatzaufwand.
Gruß
Bernhard Sander