如何检查VBA Excel中的多个对象是否为空

如何检查VBA Excel中的多个对象是否为空,vba,excel,Vba,Excel,我试着检查两个物体是否有虚无,但却找不到正确的方法来写下来 我真正尝试的是: 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)

我试着检查两个物体是否有虚无,但却找不到正确的方法来写下来

我真正尝试的是:

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
状况


谢谢

您应该像这样将两个nothing语句分开:

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

您应该像这样将两个nothing语句分开:

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

您需要先不进行任何测试,然后合并这些比较的结果:

If NArange Is Nothing And NAMERange Is Nothing Then

如果尝试将“是”以外的运算符应用于对象,则在本例中,它将尝试使用默认属性值。因此,Not NArange等同于Not NArange.Value。如果NArange为Nothing,则会出现运行时错误91-对象变量或未设置块变量。

您需要先对Nothing进行测试,然后合并这些比较的结果:

If NArange Is Nothing And NAMERange Is Nothing Then

如果尝试将“是”以外的运算符应用于对象,则在本例中,它将尝试使用默认属性值。因此,Not NArange等同于Not NArange.Value。如果NArange为Nothing,则会出现运行时错误91-对象变量或未设置块变量。

如果not Range 1为Nothing或not Range 2为Nothing,则您的条件也不正确。如果要检查这两个对象中的任何一个是否为空,则不需要输入Not关键字。它将检查条件Object1是否为Nothing=>Object1是否为某物。@Nvj是的,不清楚,我正在寻找Nothing如果Not Range 1为Nothing或Not Range 2为Nothing,则您的条件也不正确。如果要检查这两个对象中的任何一个是否为空,则不需要输入Not关键字。它将检查条件Object1不是空=>Object1是某物。@Nvj是的,不清楚,我在寻找非空