如何在我的代码中正确实现Vlookup?

时间:2019-09-17 08:17:50

标签: excel vba

我从sheet1的一列中提取了一个bug号-可以正常工作。 然后,我尝试通过vLookup在sheet3(错误估计)中查找相关的估计时间。无论我尝试什么,我似乎都会收到错误2042(循环中每个值的x3)。

我尝试通过vLookup对要查找的值进行硬编码,例如1234。 我尝试在设置Range对象时添加.Value。 我尝试过先用查找数据激活工作表。 我尝试使用Application.WorksheetFunction.VLookup。

    Dim BugID As Variant 
    Dim BugNumber As String 
    Dim BugRange As Variant 
    Dim Points As Variant

    For Each BugID In BugMatches
       BugID = StrConv(BugID, vbLowerCase)
       BugNumber = Trim(Replace(BugID, "bug", ""))
       Set BugRange = Worksheets("Bug Estimates").Range("A2:C5")
       Points = Application.VLookup(BugNumber, BugRange, 1, False)
    Next

1 个答案:

答案 0 :(得分:1)

我认为@ Foxfire And Burns And Burns是正确的-如果我使用Cint来确保您要查找数字,这似乎对我有用:

For Each BugID In BugMatches
       BugID = StrConv(BugID, vbLowerCase)
       BugNumber = Trim(Replace(BugID, "bug", ""))
       Set BugRange = Worksheets("Bug Estimates").Range("A2:C5")
       Points = Application.VLookup(CInt(BugNumber), BugRange, 2, False)
       Debug.Print ("Points=" & Points)
Next

但是我只是猜测数据可能是什么样子。