答案1
此 VBA(宏)代码将帮助您根据不同的条件逐个过滤两个表。
未过滤的表格:
Private Sub CommandButton1_Click()
If CommandButton1.Caption = "Filter Table1" Then
With Sheet2
.AutoFilterMode = False
.Range("A210:D222").AutoFilter
.Range("A210:D222").AutoFilter Field:=1, Criteria1:="Albama"
End With
CommandButton1.Caption = "Filter Table2"
ElseIf CommandButton1.Caption = "Filter Table2" Then
With Sheet2
.AutoFilterMode = False
.Range("A225:D237").AutoFilter
.Range("A225:D237").AutoFilter Field:=4, Criteria1:="Portor"
End With
CommandButton1.Caption = "Filter Table1"
End If
End Sub
过滤第一个表:
过滤第二个表:
怎么运行的:
- 创建一个命令按钮并设置标题 过滤表1。
- 点击单击命令按钮打开 VB 编辑器并复制粘贴上面显示的代码为标准模块。
- 节省并返回工作表。
- 点击命令按钮过滤表 1之后代码将设置它的标题,过滤表 2。
- 然后点击命令按钮筛选表2之后代码将设置它的 标题,过滤表 1。
通过这种方式,您可以依次过滤两个表。
注意:
- 在上面显示代码工作表名称、范围、字段和条件是可编辑的。
如果你想使用多个标准,那么你的代码应该是这样的,
.Range("A210:D222").AutoFilter Field:=1, Criteria1:="Albama", _ Operator:=xlOr, Criteria2:="Verginia"
对于多个字段:
.AutoFilter Field:=1, Criteria1:="Albama" .AutoFilter Field:=4, Criteria1:="Portor"
根据需要调整代码中的单元格引用。