Ereignisse deaktivieren

In einigen Fällen ist es erforderlich, die Ereignisse zu deaktivieren, um eine endlose Rekursion zu verhindern. Nehmen wir an, Sie möchten die Eingabe in Zelle A1 so einschränken, dass nur der Wert 10 zulässig ist. Um dies umzusetzen, verwenden Sie das Ereignis Worksheet_Change. Bei Eingabe eines falschen Wertes wird ein Meldungsfeld angezeigt und der Inhalt der Zelle A1 mittels Clear entfernt. Das Problem dabei ist, dass die Methode Clear ihrerseits das Ereignis Change auslöst. Dies bedeutet, dass sich die Prozedur selbst nochmals aufruft. Damit dies nicht geschieht, kann mittels Application.EnableEvents = False ein rekursiver Aufruf verhindert werden.

Wenn Sie den Effekt wirklich testen möchten, öffnen Sie die Beispielmappe ...

Get Microsoft Excel 2010-Programmierung - Das Handbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.