我使用名为的工作表; Rev00,Rev01,Rev02等 - 我工作手册中的其他表格。
非常有用(为了比较不同修订版的子摘要),设置完全相同的多重过滤器 - 在活动表中设置 - 仅在以“Rev”开头的所有工作表中。
最想要通过双击Range("A1")
或类似的地方激活此动作(我不想要这个按钮)。
如果可能,下一次双击范围(“A1”)应重置过滤器。
Sub Test()
Dim ws As Worksheet, str As String
For Each ws In Worksheets
str = Left(ws.Name, 3)
If str = "Rev" Then
' set filter as in active.sheet
End If
Next ws
End Sub
......我被困了...... 有人会指导我吗?
答案 0 :(得分:1)
是的,这是可能的。 :)这是一个关于它应该如何工作的基本样本。
Sub Test()
Dim ws As Worksheet, str As String
For Each ws In Worksheets
str = Left(ws.Name, 3)
If UCase(str) = "REV" Then
With ws
'~~> Remove any filters
.AutoFilterMode = False
With <YOUR RANGE>
.AutoFilter Field:=<RELEVANT FIELD>, _
Criteria1:=<YOUR CRITERIA>
'
'~~> Rest of the code
'
End With
'~~> Remove any filters
'.AutoFilterMode = False
End With
End If
Next ws
End Sub
Here你可以看到自动过滤器在运行:)
要点击范围A1
调用上述代码,您可以使用Worksheet_BeforeDoubleClick
事件。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("A1")) Is Nothing Then
'
'~~> Your code goes here
'
Cancel = True
End If
End Sub
关于使Range A1
作为ON / OFF开关响应的查询,您可以使用显示为HERE的布尔变量