Find函数返回空值 报错 VB

For i = 4 To j
X = Sheet1.Range("A:A").Find(Sheet14.Range("A" & i)).Row

If Sheet14.Range("C" & i) <> Sheet1.Range("B" & X) Then
Sheet1.Range("B" & X) = Sheet12.Range("C" & i)
Sheet1.Range("B" & X).Interior.Color = 255
End If

Next i
第二行代码如果,查找不到值,X就是空值,然后就会报错
我想要如果查找不到,直接跳出循环,怎么改?

第1个回答  2011-10-25
方法一,先行判断
For i = 4 To j
If Sheet1.Range("A:A").Find(Sheet14.Range("A" & i)) = Nothing Then
Exit For
Else
X = Sheet1.Range("A:A").Find(Sheet14.Range("A" & i)).Row
End If
If Sheet14.Range("C" & i) <> Sheet1.Range("B" & X) Then
Sheet1.Range("B" & X) = Sheet12.Range("C" & i)
Sheet1.Range("B" & X).Interior.Color = 255
End If

Next i
方法二,报错跳出:
On Error GoTo Err1
For i = 4 To j
X = Sheet1.Range("A:A").Find(Sheet14.Range("A" & i)).Row

If Sheet14.Range("C" & i) <> Sheet1.Range("B" & X) Then
Sheet1.Range("B" & X) = Sheet12.Range("C" & i)
Sheet1.Range("B" & X).Interior.Color = 255
End If

Next i
Err1:本回答被提问者采纳
第2个回答  2011-10-25
For i = 4 To j

Set c = Sheet1.Range("A:A").Find(Sheet14.Range("A" & i)), lookin:=xlValues)
if c is nothing then exit for
X = c.Row

If Sheet14.Range("C" & i) <> Sheet1.Range("B" & X) Then
Sheet1.Range("B" & X) = Sheet12.Range("C" & i)
Sheet1.Range("B" & X).Interior.Color = 255
End If

Next i

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网