我有2列空白,或显示用户有权访问的数据库。列不相同,因此宏中需要OR逻辑,但我无法正确使用语法。这就是我所拥有的 - 切换效果很好,只是无法获得OR。我真的更喜欢这种方法,而不是“高级过滤”方法。
With ActiveSheet
If .AutoFilterMode = True And .FilterMode = True Then
.AutoFilterMode = False And .FilterMode = False
Else
.AutoFilterMode = True And .FilterMode = True
ActiveSheet.Range("$E$7:$P$1765").AutoFilter Field:=1, Criteria1:="=DatabaseA", _
Operator:=xlOr, Field:=7, Criteria2:="=DatabaseA"
End If
End With
答案 0 :(得分:0)
运行你的代码我得到了这个
所以看起来像预期的那样创建一个OR。 我会检查您的DatabaseA定义是否按预期设置。 如果您希望将字符串“DatabaseA”作为过滤条件,则可以删除前面的等号,或者DatabaseA是变量? 从你的例子中不清楚是什么情况
答案 1 :(得分:0)
决定最佳解决方案是将2列输出到第3列:
=IF(K8="DatabaseA","DatabaseA",IF(Q8="DatabaseA","DatabaseA","--"))
并且新列输入到宏中。效果很好。