【发布时间】:2016-10-13 13:24:58
【问题描述】:
我有一个工作表,其中数据表的每一行都有一个基于公式的超链接。我希望这些超链接在每次单击其中一个时执行一个宏。宏需要一个参数来根据单击的行的超链接采取不同的行为,因此我使用的是活动单元格的行号。
我尝试了各种我发现的方法,但没有一个能完成功能。在大多数情况下,我需要在事件宏本身中指定单元格地址,这不是一个可扩展的选项。
样本数据:
Col A Col B
A Link: A
B Link: B
C Link: C
D Link: D
E Link: E
上表的第二列应该是超链接列表。
我在第二列中使用的超链接公式(例如在单元格 B1 中):
=HYPERLINK(MID(CELL("filename"),FIND("[",CELL("filename")),FIND("]",CELL("filename"))-FIND("[",CELL("filename"))+1)&ADDRESS(ROW(),COLUMN()-1),"Link: "&$A1)
我在工作表代码中使用的宏:
Private Sub Workbook_SheetFollowHyperlink(ByVal Target As Hyperlink)
Dim sData As String
sData = "text: " & sData & Range(Target.Range.Address). _
Offset(0, -1).Value & vbCr
MsgBox sData
End Sub
在这种情况下,当我点击超链接时,上面的宏甚至没有运行
【问题讨论】:
标签: vba excel hyperlink macros