Gerald指出,将鼠标移到工作表上的图片上时,鼠标指针为十字形。他想知道如何在单击鼠标时使用VBA确定十字的坐标。

Excel不允许您(即使使用VBA)也无法获取在工作表中作为常规图片插入的图形上的鼠标指针坐标。如果使用“控件”工具箱中的“图像”对象插入图片,则您的自由度要高得多。实际上,您可以使用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_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(3421)适用于Microsoft Excel 97、2000、2002和2003。