[英]Assign value to a variable upon error
我正在尝试做的是如果发生错误,则将重置某些值。 就像是:
Dim r As Integer
Dim feeder As String
Dim origen As String
On Error GoTo errhandler:
For j=1 to 100
r = Evaluate("=MATCH(1, (C:C=""" & feeder & """) * (D:D=""" & origen & """),0)")
Next j
Exit Sub
errhandler:
r = 0
End Sub
但是,如果出现错误,我如何强制其返回到For
?
可以使用IsError代替ErrHanlding来设置Error的r
值:
Sub t1()
Dim feeder As String
Dim origen As String
For j = 1 To 100
Dim r As Variant
If IsError(Evaluate("=MATCH(1, (C:C=""" & feeder & """) * (D:D=""" & origen & """),0)")) Then
r = 0
Else
r = Evaluate("=MATCH(1, (C:C=""" & feeder & """) * (D:D=""" & origen & """),0)")
End If
Debug.Print r ' Just for you to check
Next
End Sub
只需使用Resume Next
语句
Dim r As Integer
Dim feeder As String
Dim origen As String
On Error GoTo errhandler:
For j=1 to 100
r = Evaluate("=MATCH(1, (C:C=""" & feeder & """) * (D:D=""" & origen & """),0)")
Next j
Exit Sub
errhandler:
r = 0
resume Next
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.