Gerald merkt an, dass der Mauszeiger beim Bewegen der Maus über ein Bild in einem Arbeitsblatt ein Kreuz ist. Er möchte wissen, wie er mit VBA die Koordinaten des Kreuzes bestimmen kann, wenn er mit der Maus klickt.

In Excel können Sie (auch mit VBA) die Koordinaten des Mauszeigers auf einer Grafik nicht abrufen, die als normales Bild in das Arbeitsblatt eingefügt wird. Wenn Sie das Bild mit einem Bildobjekt in die Steuerungs-Toolbox einfügen, haben Sie viel mehr Spielraum. In der Tat können Sie den MouseDown-Ereignishandler verwenden, um die Koordinaten zu bestimmen, wie hier gezeigt:

Private Sub Image1_MouseDown(ByVal Button As Integer, _   ByVal Shift As Integer, ByVal X As Single, _   ByVal Y As Single)

MsgBox X & ", " & Y End Sub

Dieser Code setzt voraus, dass das Bild Image1 heißt. Ein ähnlicher Code könnte verwendet werden, um die Cursorkoordinaten in Echtzeit in der Statusleiste anzuzeigen:

Private Sub Image1_MouseMove(ByVal Button As Integer, _   ByVal Shift As Integer, ByVal X As Single, _   ByVal Y As Single)

Application.StatusBar = Round(X, 0) & "," & Round(Y, 0)

End Sub

Einer (oder beide) dieser Ereignishandler sind offensichtlich mit Image1 verknüpft, daher müssen sie dem Codefenster für dieses Objekt hinzugefügt werden.

_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 (3421) gilt für Microsoft Excel 97, 2000, 2002 und 2003.