我正在尝试检查2个对象中的 not nothingness 并且无法检测到'找到正确的方法来写下来。
我正在努力尝试:
Dim NArange As Range, NAMERange As Range
Set NArange = Rows(DateRange.Row).Find("#N/A", LookIn:=xlValues, LookAt:=xlWhole)
Set NAMERange = Rows(DateRange.Row).Find("#NAME?", LookIn:=xlValues, LookAt:=xlWhole)
If (Not NArange Or Not NAMERange) Is Nothing Then
debug.print "nothing"
End If
我该怎么写
If (Not NArange Or Not NAMERange) Is Nothing Then
条件?
谢谢!
答案 0 :(得分:3)
您需要先对所有内容进行测试,然后结合这些比较的结果:
If NArange Is Nothing And NAMERange Is Nothing Then
如果您尝试将Is
以外的运算符应用于对象,它将尝试使用默认属性(在本例中为Value
)。因此,Not NArange
相当于Not NArange.Value
。如果NArange
为Nothing
,您将收到运行时错误91 - “对象变量或未设置块变量”。
答案 1 :(得分:2)
你应该将这两个语句分开:
Dim NArange As Range, NAMERange As Range
Set NArange = ActiveSheet.Range("A1")
Set NAMERange = ActiveSheet.Range("A2")
If NArange Is Nothing Or NAMERange Is Nothing Then
MsgBox ("nothing")
Else
MsgBox ("something")
End If