Джеральд отмечает, что при наведении указателя мыши на изображение на листе указатель мыши представляет собой крест. Он хочет знать, как он может определить с помощью VBA координаты креста при щелчке мышью.

Excel не позволяет вам (даже с VBA) получить координаты указателя мыши на графике, вставленном как обычное изображение на лист. Если вы вставите изображение с помощью объекта Image в панели инструментов Control, у вас будет немного больше свободы действий. Действительно, вы можете использовать обработчик событий MouseDown для определения координат, как показано здесь:

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

Этот код предполагает, что изображение называется Image1. Аналогичный код можно использовать для отображения координат курсора в реальном времени в строке состояния:

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

Один (или оба) из этих обработчиков событий, очевидно, связаны с Image1, поэтому их необходимо добавить в окно кода для этого объекта.

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (3421) применим к Microsoft Excel 97, 2000, 2002 и 2003.