首页 > 解决方案 > VBA检查列是否包含特定值

问题描述

如何查找列是否包含 TRUE 或 FALSE VALUE?

标签: vbaexcelboolean

解决方案


例如,您可以A1像这样评估单元格:

Sub Demo()
    Select Case Sheets("Sheet1").Range("A1")
        Case True
            MsgBox "Cell A1 is TRUE"
        Case False
            MsgBox "Cell A1 is FALSE"
        Case Else
            MsgBox "Cell A1 is neither True nor False"
    End Select
End Sub

编辑:

这是一个替代解决方案,因为可能目标更多的是整个列的“T/F 摘要”:

Sub Demo2()

    Dim cntT As Long, cntF As Long, resp As String
    cntT = WorksheetFunction.CountIf(Sheets("Sheet1").Columns("A"), True)
    cntF = WorksheetFunction.CountIf(Sheets("Sheet1").Columns("A"), False)

    Select Case cntT
        Case Is > 0
            Select Case cntF
                Case Is > 0
                    resp = "a mix of " & cntT & " TRUE and " & cntF & " FALSE."
                Case Else
                    resp = cntT & " TRUE but no FALSE."
            End Select
        Case Else
            Select Case cntF
                Case Is > 0
                    resp = cntF & " FALSE but no TRUE."
                Case Else
                    resp = "neither TRUE nor FALSE."
            End Select
    End Select

    MsgBox "The column contains " & resp, vbInformation

End Sub

示例输出:

图像


推荐阅读