是变量需要而不是"或"

-1 excel vba if-statement

给定多个选项时,简单隐藏行不起作用

我已经尝试为范围设置变量并得到相同的不匹配

If Range("J178") = "Credit" Or "Debit" Or "Both" Then
    Rows("180").Hidden = False
Else
    Rows("180").Hidden = True
End If
Run Code Online (Sandbox Code Playgroud)

我希望代码运行与否; 不是Run time 13 type mismatch我收到的.

小智 5

选项1 - 手写出每个条件(区分大小写)

If Range("J178") = "Credit" Or Range("J178") = "Debit" Or Range("J178") = "Both" Then
    Rows("180").Hidden = False
Else
    Rows("180").Hidden = True
End If
Run Code Online (Sandbox Code Playgroud)

选项2 - 使用工作表的匹配检查数组(不区分大小写)

If IsNumeric(application.Match(Range("J178"), Array("Credit","Debit", "Both"), 0)) Then
    Rows("180").Hidden = False
Else
    Rows("180").Hidden = True
End If
Run Code Online (Sandbox Code Playgroud)

选项3 - 使用Select Case方法(区分大小写)

Select Case Range("J178"),Value
    Case "Credit", "Debit", "Both"
        Rows("180").Hidden = False
    Case Else
        Rows("180").Hidden = True
End Select
Run Code Online (Sandbox Code Playgroud)

选项4 - 使用修改的Select Case方法(不区分大小写)

Select Case lcase(Range("J178"),Value)
    Case "credit", "debit", "both"
        Rows("180").Hidden = False
    Case Else
        Rows("180").Hidden = True
End Select
Run Code Online (Sandbox Code Playgroud)