我在下面的代码行中得到了对象所需的错误
Set Flag = "If(Application.WorksheetFunction.IsError(Application.WorksheetFunction.VLookup(ActiveCell.Offset(0, Offset1).Value, abcd.Value, 1, False)),False,True)"
If (Flag = True) Then
ActiveCell.Value = "abc"
其中abcd是命名范围。 有人可以建议纠正这个错误的方法吗?
答案 0 :(得分:0)
我对vlookup函数有些疑虑。我不明白你想要做的一切,但是
Application.WorksheetFunction.VLookup(ActiveCell.Offset(0, Offset1).Value, abcd.Value, 1, False)
看起来不太好。
答案 1 :(得分:0)
如果您使用Application.WorksheetFunction.VLookup()
,则不匹配将导致运行时错误,您需要使用On Error
进行陷阱。
如果您改为使用Application.VLookup()
,则会在未匹配的情况下返回错误值 - 您可以使用IsError()
If IsError(Application.VLookup(ActiveCell.Offset(0, Offset1).Value, _
Range("abcd"), 1, False)) Then
ActiveCell.Value = "abc"