单击指向另一个工作表的超链接时运行macros

我有两个工作表。 工作表1具有工作单的列表(A列),工作表2具有根据工作单购买的物料编号列表。 Sheet1中只有一个工单,但可以有多个物料编号链接到一个工单。

Sheet2看起来像这样;

ColumnA ColumnB

订单1物料1

订单1物料2

订单2材料1

Order3材料1

我有一个超链接-vlookup组合,一旦在Sheet1中单击了一个工单号,它就会在Sheet2中列出相同的工单号。

现在,我想在单击超链接后运行macros,以便将Sheet2过滤为仅显示针对该工单所购买的材料。 我尝试了以下哪些不起作用。 请帮忙!

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) MsgBox "Run Code" End Sub 

你有的问题是FollowHyperlink不是一个计算超链接(即不是一个静态的超链接,但通过HYPERLINK函数生成)触发。 你可以通过使用SelectionChange事件和testing超链接来解决这个问题。 这将需要插入到工作表对象中

 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim linkAddress As String On Error Resume Next linkAddress = Target.Hyperlinks(1).SubAddress On Error GoTo 0 If linkAddress = vbNullString Then MsgBox "Run Code" End If End Sub 

或者在注释中使用我标记为重复的解决scheme