我有一个详细的产品订单工作表示例表2,以及一个摘要工作表供应商名称和总值示例表2。 我想知道当我单击超链接详细信息时,是否可以过滤此供应商所有订单示例表3下的详细产品订单。 如果有人可以为我做这对我有帮助
答案 0 :(得分:1)
您可以使用Worksheet_FollowHyperlink
事件来检测何时按下了超链接。指向文档中某个位置的超链接将带有SubAddress
,而您单击的文本将是TextToDisplay
。
以下代码将在您单击工作表的超链接时进行检测,并且-如果该工作表具有自动筛选器-将为您单击的文本筛选自动筛选器的第一列。
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Dim wsToFilter As Worksheet
On Error GoTo SubErr
If Right(Target.SubAddress, 3) = "!A1" Then 'Hyperlink is to a worksheet within this document
Set wsToFilter = ThisWorkbook.Worksheets(Replace(Target.SubAddress, "!A1", ""))
If wsToFilter.AutoFilterMode Then 'Hyperlink has an AutoFilter
wsToFilter.AutoFilter.ShowAllData 'Remove existing filters
wsToFilter.AutoFilter.Range.AutoFilter 1, Target.TextToDisplay 'Filter the First column for the text of the hyperlink
End If
Set wsToFilter = Nothing
End If
SubErr:
End Sub
答案 1 :(得分:0)
使用Worksheet.FollowHyperlink Event过滤所需的数据。
Option Explicit
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
MsgBox Cells(Target.Parent.Row, "A") 'returns the value of column A of the clicked link
'do your filter stuff here …
End Sub