基于更改单元格值(VBA)的超链接和自动筛选表

我想要做的是在Sheet1上创build一个超链接,在Sheet2上自动筛选表格。 该表格应根据Sheet1中的某个单元格值进行过滤。 单元格值根据切片器selectdynamic更改。

所以举个例子,

  1. 如果Sheet 1上的单元格值显示“唐纳德·特朗普”,那么Sheet2上的表应该过滤,以便在第13列中仅显示“唐纳德·特朗普”。
  2. 如果Sheet2上的单元格值显示“Hilary Clinton”,那么Sheet2上的表格应该过滤为仅在第13列中显示“Hilary Clinton”。等等等等…

我对VBA很缺乏经验,所以我希望得到一些帮助。

这是我到目前为止,但是当我尝试点击超链接时没有任何反应。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If ActiveSheet.Range("S18").Select = 1 Then 'This is the cell with the hyerlink in it. Worksheets("Table of Presidents").ListObjects("Table17").Range.AutoFilter Field:=13, Criteria1:=Worksheets("Dashboard").Range("S21").Value 'This is the table that needs to be filtered. 'The criteria1 part is the field that dynamically changes Worksheets("Table of Presidents").Activate End If End Sub 

  1. 希拉里·克林顿拼写为双l。 (但这不是导致问题的原因)
  2. Worksheet_BeforeDoubleClick是一个事件处理程序,只要你双击某处,你就不需要这个,而是Worksheet_FollowHyperlink。
  3. ActiveSheet.Range(“S18”)。select意味着像点击单元格S18; 它没有返回值,所以你不能和1进行比较。
  4. 你不需要这个macros。 我的意思是使用macros有一些缺点:对fileformat的要求等。这个任务可以通过设置基于公式的filter(使用隐藏的列或条件格式),并添加一个链接,只是针对您的总统表片。

更新

重新2-3:

 Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) If Target.Type = msoHyperlinkRange And Target.Range.Address = "$S$18" Then Worksheets("Table of Presidents").ListObjects("Table17").Range.AutoFilter Field:=13, Criteria1:=Worksheets("Dashboard").Range("S21").Value Worksheets("Table of Presidents").Activate End If End Sub