本文介绍了是否需要变量而不是“或"?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

简单的隐藏行在提供多个选项时不起作用

Simple Hide Row not functioning when given multiple options

我尝试为范围设置变量,并且出现了不匹配的情况

I've tried setting a Variable for the range and got same mismatch

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

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

I expected the code to run or not; not the Run time 13 type mismatch I'm receiving.

推荐答案

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

Option 1 - Write out each condition longhand (case sensitive)

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

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

Option 2 - Check an array with the worksheet's Match (not case sensitive)

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

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

Option 3 - Use a Select Case method (case sensitive)

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

选项4-使用修改后的选择大小写"方法(不区分大小写)

Option 4 - Use a modified Select Case method (not case sensitive)

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

这篇关于是否需要变量而不是“或"?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-03 20:28