【问题标题】:IsEmpty returns False when target is multiple cells当目标是多个单元格时,IsEmpty 返回 False
【发布时间】:2020-04-13 14:44:40
【问题描述】:

只是好奇如果我选择了超过 1 个单元格,比如说 5 个,那么 isempty 的返回是 false。我想知道为什么?我知道我可以使用其他方法来识别空单元格。但我只是想更深入地了解 selectionchange 事件中的“isempty”功能和“target”。谢谢你的帮助。干杯。

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    它在文档中是正确的......

    如果表达式包含多个变量,则始终返回 False。

    IsEmpty function


    这是一个应该做你期望它做的函数:

    Function AreAllEmpty(Target As Range) As Boolean
      Dim r As Range
    
      For Each r In Target
        If Not IsEmpty(r) Then
          AreAllEmpty = False
          Exit Function
        End If
      Next
      AreAllEmpty = True
    
    End Function
    

    用法:

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      MsgBox AreAllEmpty(Target)
    End Sub
    

    【讨论】:

    • 感谢您的解释。那么我可以相信我永远无法使用 isempty 来识别多单元格的空状态吗?
    • 这是我的假设,是的。您可以编写自己的例程(AreAllEmpty(Target As Range) 也许?),如果您愿意,可以使用该函数解析每个单元格的值,如果它们都是 Empty,则让它返回 True,但就目前而言,处理多个表达式不是IsEmpty 函数的用途。
    • 我提供了功能供您使用。
    猜你喜欢
    • 1970-01-01
    • 2021-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多