我正在尝试让Vlookup
在VBA中工作,我有这段代码:
Dim Result As Variant
For i = 2 To lastrow
Result = Application.VLookup(Template.Range("A" & i).Value2, EDM.Range("B:BP"), 5, False)
If IsError(Result) Then
Template.Range("E" & i).Value2 = ""
Else
Template.Range("E" & i).Value2 = Result
End If
Next i
出于某种原因,每个细胞都是空白的。如果我在匹配的单元格中手动键入公式,它可以正常工作。我猜这可能与错误处理有关,也许?目标是在模板,A列中查找EDM列B中的值并返回EDM列G.
答案 0 :(得分:1)
您是对的,它与您的错误处理有关,您需要使用If IsError(Application.VLookup...)
稍微改变EDM.Range("B:BP")
错误。
注意:在您撰写的帖子中,您希望在您编写Dim Result As Variant
For i = 2 To lastrow
If IsError(Application.VLookup(Template.Range("A" & i).Value2, EDM.Range("B:BP"), 6, False)) Then
Template.Range("E" & i).Value2 = ""
Else
Result = Application.VLookup(Template.Range("A" & i).Value2, EDM.Range("B:BP"), 6, False)
Template.Range("E" & i).Value2 = Result
End If
Next i
的代码中与EDM专栏B"进行比较,以便选择哪一个? ?
尝试以下代码:
CALL apoc.cypher.run("RETURN 2 AS x UNION RETURN 1 AS x", NULL) YIELD value
RETURN value.x AS x
ORDER BY x;