我有一个详细的产品订单工作表示例表2.和一个摘要工作表供应商名称和总值示例表2.我想知道是否有可能当我点击超链接详细信息将过滤我在该供应商下的详细产品订单表所有订单示例表3.如果有人能为我这样做,那对我有帮助
您可以使用Worksheet_FollowHyperlink
事件来检测何时按下超链接。指向文档中某个位置的超链接将具有SubAddress
,您单击的文本将是TextToDisplay
。
当您单击指向工作表的超链接时,以下代码将检测到 - 如果该工作表具有自动过滤器 - 将过滤您单击的文本的AutoFilter的第一列。
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
使用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