我有两个工作表。 Sheet1具有工作订单列表(A列),Sheet2具有根据工作订单购买的物料编号列表。 Sheet1中只有一个工作单条目,但可以有多个材料编号链接到一个工单。
Sheet2看起来像这样;
ColumnA ColumnB
Order1 Material1
Order1 Material2
Order2 Material1
Order3 Material1
我有一个超链接-vlookup组合,一旦在Sheet1中单击工作订单号,它将转到Sheet2中列出材料的相同工单号。
现在,我希望在单击超链接后运行宏,以便过滤Sheet2以仅显示针对该工作单购买的材料。我尝试了以下哪些不起作用。请帮忙!
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
MsgBox "Run Code"
End Sub
答案 0 :(得分:0)
您遇到的问题是FollowHyperlink
未在计算的超链接上触发(即不是静态超链接,而是通过HYPERLINK
函数生成)。你可以通过使用SelectionChange
事件并测试超链接来解决这个问题。这将需要插入到工作表对象
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
或使用我在评论中标记为重复的解决方案