使用VBA Excel过滤表

时间:2017-12-13 17:15:04

标签: vba excel-vba excel

我有两个工作表。在工作表中("仪表板")我有一个基于工作表中表格的下拉列表("年度视图")。我试图根据工作表中的下拉列表中的值过滤此表(" Dashboard")。

我创建的代码失败了。

工作表中的下拉列表(" Dashboard")是Range中的位置(" AL1")。要过滤的列在工作表上("年度视图")。范​​围(" P3")。

请参阅下面的代码:

Sub Filter_Table()
     Worksheets("Yearly View").Range("P3").Select
     Worksheets("Yearly View").Range("$P$3:$AR$24").AutoFilter Field:=1, Criteria1:= _
     Worksheets("Dashboard").Range("AL1")
     ActiveSheet.Range("$P$3:$AR$24").AutoFilter Field:=1
End Sub

1 个答案:

答案 0 :(得分:0)

如果您将下面的代码放在工作表上的Worksheet_Change"工作表(" Dashboard")"那么列表框的值将用于在这种情况下在工作表"年度视图"中过滤字段3:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$AL$1" Then
Worksheets("Yearly View").ListObjects("YourTableName").Range.AutoFilter Field:=3, Criteria1:=Target.Value 'change the name of your table here. and the field value to the column number to be filtered on your table
End If
End Sub