VBA:需要确定FIND方法的结果是什么或者“”(空)
我有这个
Set rngFound = Selection.Find(What:=Trim(prirustek.Cells(i, 1).Value), LookIn:=xlValues, LookAt:=xlWhole)
并需要做这样的事情:
If rngFound Is Nothing Or rngFound = "" Then ...
但是这个代码停止在“对象variables或块variables未设置(错误91)”。 我觉得这个问题在rng里找不到,但是我怎么能做到
rngFound = ""
在IF语句?
试试这个If IIf(rng Is Nothing, "", rng) = "" Then
它首先处理完全nothing
情况。 这有点像Access中的Nz()
。
尝试If rngFound Is Nothing Or rngFound.Value = "" Then
怎么样:
Private Function isRangeEmptyOrNothing(r As Range) As Boolean If r Is Nothing Then isRangeEmptyOrNothing = True ElseIf IsEmpty(r) Then isRangeEmptyOrNothing = True ElseIf r = "" Then 'Not sure if this is redundant with IsEmpty isRangeEmptyOrNothing = True End If End Function
然后在你的主代码中:
If isRangeEmptyOrNothing(rngFound) Then
您可以尝试以下方法:
If rngFound = Empty Then ...
要么
If isNull(rngFound) = true Then ...