Excel VBA:WorkSheet_FollowHyperlink不被称为形状对象(msoPicture)

当有人点击工作表中的graphics时,我需要执行一个macros。 macros观意图是显示更多关于用户点击的形状的信息。 编辑:我也需要在鼠标滚动期间的信息显示,因此使用超链接方法。

我遵循MSDN中概述的方法,但macros似乎并没有运行。

我的macros如下:

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) MsgBox "Source: Target.Range.Address " & Target.Range.Address MsgBox "Source: Target.Range.Value " & Target.Range(1, 1).Value ' Some more macro stuff here End Sub 
  • 在点击图片时,我会看到超链接目标所在的工作表,但macros不会被执行。
  • 我在其中一个单元格上创build了​​一个虚拟超链接(在同一张表单中),如果单击该单元格执行macros。
  • 我使用超链接方法在图片形状上具有翻转信息。

我完全没有想法如何去做这件事。 帮助将不胜感激。

不要使用这种方法。 使用Worksheet_SelectionChange而不是Worksheet_FollowHyperlink

所以改变你的代码

 Private Sub Worksheet_SelectionChange(ByVal Target As Range) '~~> Change A1 to the cell which is behind the shape If Not Intersect(Target, Range("A1")) Is Nothing Then '~~> Change this to the relevant sheet With ThisWorkbook.Sheets("Sheet1") .Visible = xlSheetVisible .Activate End With ' '~~> Other Code if required ' End If End Sub 

接下来,右键单击形状,然后单击Hyperlink并超链接到形状后面的单元格。 您也可以使用Insert hyperlink对话框中的ScreenTipbutton显示信息。

我们将在上面的代码中执行表单激活部分,而不是让Excel执行它。

希望这可以解决你的问题。