【发布时间】:2020-04-13 14:44:40
【问题描述】:
只是好奇如果我选择了超过 1 个单元格,比如说 5 个,那么 isempty 的返回是 false。我想知道为什么?我知道我可以使用其他方法来识别空单元格。但我只是想更深入地了解 selectionchange 事件中的“isempty”功能和“target”。谢谢你的帮助。干杯。
【问题讨论】:
只是好奇如果我选择了超过 1 个单元格,比如说 5 个,那么 isempty 的返回是 false。我想知道为什么?我知道我可以使用其他方法来识别空单元格。但我只是想更深入地了解 selectionchange 事件中的“isempty”功能和“target”。谢谢你的帮助。干杯。
【问题讨论】:
它在文档中是正确的......
如果表达式包含多个变量,则始终返回 False。
这是一个应该做你期望它做的函数:
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
【讨论】:
AreAllEmpty(Target As Range) 也许?),如果您愿意,可以使用该函数解析每个单元格的值,如果它们都是 Empty,则让它返回 True,但就目前而言,处理多个表达式不是IsEmpty 函数的用途。