【问题标题】:Running Excel Macro On Hyperlink Click在超链接单击时运行 Excel 宏
【发布时间】:2016-08-03 20:50:24
【问题描述】:

我正在尝试将宏分配给我在 Excel 中设置的超链接。我有超链接链接回包含超链接的同一单元格。根据我发现的代码示例,我想出了这个代码块:

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)

Select Case Target.Range.Address

Case "$B$3"
     MsgBox ("Test")
Case "$Z$3"
     MsgBox ("Test")
Case Else
    Exit Sub
End Select

End Sub

当我单击任一超链接时,什么都没有发生。我也尝试过运行Application.EnableEvents = True,但仍然无法触发任何东西。此外,我已验证代码块设置在正确的工作表模块中。任何帮助,将不胜感激。谢谢!

编辑:这是一个超链接对话框的屏幕截图,作为我设置的超链接的示例:

我已经尝试过 "Z3" 和 $Z$3 作为地址(两种方式都正确引导我到单元格,它只是不会触发宏。)

【问题讨论】:

  • 你试过用Target.SubAddress吗?
  • 刚试过。宏仍然没有运行。
  • 如果只有Debug.Print "OK" 是否触发了?
  • just Debug.Print "Ok" 不会做任何事情,但如果我只将 MsgBox ("Test") 放在 Worksheet_FollowHyperlink 事件中,它确实有效。此外,如果我调用我的一个宏,它将触发。但是,我需要能够根据不同的超链接调用不同的宏。我尝试了 If 语句而不是 Select Case,但也不值得这样做。
  • MsgBox ("Target.SubAddress") 告诉你什么?或者MsgBox ("Target.Range.Address") 向您展示了什么?

标签: vba excel hyperlink macros


【解决方案1】:

如果代码在工作表代码区域中,您的代码可以工作

右击底部的标签,然后:

【讨论】:

  • 我必须在正确的工作表代码区域进行编码。我看到的唯一区别是我没有实际地址作为超链接的文本。这可能是问题吗?最好,我想保持文本描述宏将做什么......
  • @SincereApathy 文本不重要........宏可能不会被调用的另一个原因是如果您使用的是 =HYERLINK() 工作表函数而不是单元格中的插入超链接。
  • 还是没有运气。感谢您抽出宝贵时间...一定是其他一些设置/技术问题。
  • @SincereApathy 问题不在于你的代码......它在我的系统上运行......也许问题出在超链接上??
  • 我已经编辑了我的帖子以展示我是如何设置超链接的。
猜你喜欢
  • 2016-10-13
  • 1970-01-01
  • 2014-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多