使用HYPERLINK函数执行VBA宏

时间:2018-11-15 08:03:15

标签: excel vba

我想用执行VBA宏的超链接填充一列,这是通过使用HYPERLINK函数实现的:

=HYPERLINK("#AddReview()";"Add Review")

由于HYPERLINK函数不会调用Workbook_SheetFollowHyperlink方法,因此我创建了自己的函数,如下所示(简化):

Public Function AddReview()

  MsgBox Selection.Cells.Row

End Function

单击超链接后,该函数确实成功执行,但是问题是该函数执行3次,直到第三次运行失败,并显示消息Reference isn't valid

有人知道为什么它会继续执行吗?我找不到答案。

1 个答案:

答案 0 :(得分:1)

不确定根本原因,但类似于this answer,使用Set AddReview = Selection可以解决此问题。

Public Function AddReview()
    Set AddReview = Selection
    MsgBox Selection.Cells.Row
End Function