【发布时间】:2015-11-26 23:45:17
【问题描述】:
我有三个复选框(猫、狗、鼠标),并且我在 excel 中有以下数据集(字母是列)。
A B C
Cat Cat Mouse
Dog Mouse Cat
Mouse Mouse Dog
Dog Cat Cat
我有以下代码:
Dim num As Integer
arrcriteria = Array("Cat", "Dog", "Mouse")
Set temprange = ActiveSheet.Range("A1").End(xlDown)
Set temprange = Range(Range("A2"), temprange)
For Each z In temprange
z.EntireRow.Hidden = True
For num = 1 To 3
If Me.Controls("Checkbox" & num) Then
If InStr(1, z.Value, arrcriteria(num - 1), 1) = 1 Then
z.EntireRow.Hidden = False
Elseif InStr(1, z.offset(0,1).Value, arrcriteria(num - 1), 1) = 1 Then
z.EntireRow.Hidden = False
Elseif InStr(1, z.offset(0,2).Value, arrcriteria(num - 1), 1) = 1 Then
z.EntireRow.Hidden = False
Else
'Remain hidden
End If
End if
Next num
但是,我想更改代码,以便在该行中仅存在 所有 选定条件时隐藏行。例如,如果我选择“猫”和“狗”,则仅显示以下内容:
A B C
Dog Mouse Cat
Dog Cat Cat
你知道怎么做吗?
提前谢谢你
会
【问题讨论】: