0

我有 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
4

2 回答 2

0

运行你的代码我明白了

在此处输入图像描述

因此,它似乎按预期创建了一个 OR。我会检查您对 DatabaseA 的定义是否按预期设置。如果您打算将字符串“DatabaseA”作为过滤条件,您可能会删除前面的等号,或者 DatabaseA 是一个变量吗?从您的示例中不清楚是哪种情况

于 2012-07-03T02:35:43.727 回答
0

决定最好的解决方案是将 2 列输出到第 3 列:

=IF(K8="DatabaseA","DatabaseA",IF(Q8="DatabaseA","DatabaseA","--"))

并且新列输入到宏中。效果很好。

于 2012-07-03T14:14:26.323 回答