Wendy hat ein Arbeitsblatt mit ziemlich vielen Daten, wobei die Hauptdaten im Bereich C3: P312 liegen. Sie hätte gerne ein Makro, das, wenn sie auf eine Zelle in diesem Datenbereich klickt, ein „x“ in die Zelle einfügt.

Es gibt kein Ereignis, das Excel als „Klick“ auf eine Zelle erkennen kann.

Möglicherweise ist das nächste Ereignis das SelectionChange-Ereignis, das jedes Mal ausgelöst wird, wenn sich die Zellenauswahl ändert. Der Ereignishandler könnte dann überprüfen, ob die Zellenauswahl im Bereich C3: P312 liegt, und dann ein „x“ in die Zelle einfügen, falls dies der Fall ist. Der folgende Ereignishandler führt dies aus:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim rInt As Range     Dim rCell As Range

Set rInt = Intersect(Target, Range("C3:P312"))

If Not rInt Is Nothing Then         For Each rCell In rInt             rCell.Value = "x"

Next     End If     Set rInt = Nothing     Set rCell = Nothing End Sub

Bei diesem Ansatz gibt es jedoch ein Problem: Das SelectionChange-Ereignis wird nicht nur ausgelöst, wenn Sie auf eine andere Zelle klicken, sondern auch, wenn Sie mit der Tastatur im Arbeitsblatt von einer Zelle zur nächsten wechseln. Dies bedeutet, dass Sie, wenn Sie sich mit der Tastatur im Arbeitsblatt bewegen, in jeder Zelle, die Sie übertragen, ein Ende mit „x“ -Zeichen hinterlassen.

Eine Möglichkeit, dies zu umgehen, besteht darin, das Ereignis zu ändern, das die Überprüfung und Änderung der Zellen auslöst. Während Excel kein „Klick“ -Ereignis hat, gibt es ein „Doppelklick“ -Ereignis. Dies bedeutet, dass Sie die Zelle, auf die Sie doppelklicken, wie hier gezeigt ändern können:

Private Sub Worksheet_BeforeDoubleClick( _             ByVal Target As Range, Cancel As Boolean)

Dim rInt As Range     Dim rCell As Range

Set rInt = Intersect(Target, Range("C3:P312"))

If Not rInt Is Nothing Then         For Each rCell In rInt             rCell.Value = "x"

Next     End If     Set rInt = Nothing     Set rCell = Nothing     Cancel = True End Sub

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (11681) gilt für Microsoft Excel 2007, 2010, 2013 und 2016.

Eine Version dieses Tipps für die ältere Menüoberfläche von Excel finden Sie hier: