VBA:或运算符未执行

VBA:或运算符未执行,vba,Vba,我试图在VBA中使用OR运算符,但编译时出错。我已经在线检查了语法,我确信我正确地使用了它 例如,如果我这样做: If CStr(Worksheets("MINUTES").Cells(x, 2)) = "A1.2" Or "B1.1" Then Worksheets("MINUTES").Rows(x).Hidden = True End If 我得到一个类型不匹配错误。但是,执行以下代码: If CStr(Worksheets("MINUTES").Cells(x, 2)

我试图在VBA中使用OR运算符,但编译时出错。我已经在线检查了语法,我确信我正确地使用了它

例如,如果我这样做:

 If CStr(Worksheets("MINUTES").Cells(x, 2)) = "A1.2" Or "B1.1" Then
    Worksheets("MINUTES").Rows(x).Hidden = True
    End If
我得到一个类型不匹配错误。但是,执行以下代码:

If CStr(Worksheets("MINUTES").Cells(x, 2)) = "A1.2" Then
        Worksheets("MINUTES").Rows(x).Hidden = True
        End If

If CStr(Worksheets("MINUTES").Cells(x, 2)) = "B1.1" Then
        Worksheets("MINUTES").Rows(x).Hidden = True
        End If
有人能给我建议吗


先谢谢你

你可以用手写的方式写出每个标准

If CStr(Worksheets("MINUTES").Cells(x, 2)) = "A1.2" Or _
   CStr(Worksheets("MINUTES").Cells(x, 2)) = "B1.1" Then
    Worksheets("MINUTES").Rows(x).Hidden = True
End If
或者,将多个或多个条件堆叠到一个数组中并查找匹配项

if not iserror(application.match(CStr(Worksheets("MINUTES").Cells(x, 2)), array("A1.2", "B1.1"), 0)) then
    Worksheets("MINUTES").Rows(x).Hidden = True
End If
。。。或者使用Select Case语句

select case CStr(Worksheets("MINUTES").Cells(x, 2))
    case "A1.2", "B1.1"
        Worksheets("MINUTES").Rows(x).Hidden = True
    case else
        'do nothing
end select
与数组的匹配适用于多个OR条件,选择案例适用于多个条件和多个结果。

“我确信我正确使用了它。”否。这是一个布尔运算符。
CStr(工作表(“分钟”)。单元格(x,2))=“A1.2”或CStr(工作表(“分钟”)。单元格(x,2))=“B1.1”