在VBA上简化OR和AND

问题描述 投票:0回答:2

如何简化此功能,不重复:

If [F11] = "" Or [F12] = "" Or [F13] = "" Or [F14] = "" Or [F15] = "" Or [F16] = "" Or [F17] = "" Or [F18] = "" Or [F19] = "" Or [F20] = "" Or [F21] = "" Then [...]
excel-vba vba excel
2个回答
1
投票

如果任何单元格是"",你可以循环范围并中断

Option Explicit

Sub TestBlanks

    Dim rngData As Range, rngCell As Range, blnRangeHasBlanks As Boolean

    ' assume no blanks
    blnRangeHasBlanks = False

    ' iterate range and break on any blank
    Set rngData = ThisWorkbook.Worksheets("Sheet1").Range("F11:F21")
    For Each rngCell In rngData
        If rngCell.Value = "" Then
            blnRangeHasBlanks = True
            Exit For
        End If
    Next For

    If blnRangeHasBlanks Then
        ' ... do what you need
    End If

End Sub

1
投票

您可以检查您的范围内是否存在任何空白单元格。

Option Explicit
Sub MyAnswer()
    Dim rng As Range

    Set rng = ActiveSheet.Range("F10:F100")
    If rng.SpecialCells(xlCellTypeBlanks).Cells.Count = 0 Then
        ' Stuff you need
    EndIf

End Sub
© www.soinside.com 2019 - 2024. All rights reserved.