Vba VLookUp不工作-无法分配属性

Vba VLookUp不工作-无法分配属性,vba,excel,vlookup,Vba,Excel,Vlookup,我的问题是,当使用VlookUp时,我确实会得到错误: 无法分配工作表函数对象的VLookup属性 ' LookUp missing Data Dim lookupRange As Range Set lookupRange = Sheets("Kundenlisten HLK 2018").Range("A1:Y10354") ' Fill in Companyname Dim tmp As String

我的问题是,当使用VlookUp时,我确实会得到错误:

无法分配工作表函数对象的VLookup属性

        ' LookUp missing Data
        Dim lookupRange As Range
        Set lookupRange = Sheets("Kundenlisten HLK 2018").Range("A1:Y10354")

        ' Fill in Companyname
        Dim tmp As String
        tmp = Values(0)
        tmp = TrueTrim(tmp)
        testing.Cells(8, counter) = Application.WorksheetFunction.VLookup(tmp, lookupWS.Range("A2:Y10354"), 2, False)

        Values = None
        counter = counter + 1
lookupWS是工作表的名称 如您所见,我尝试查找的表中填充了从A到Y的值。第一列是我尝试查找的键,但随后出现了上面的错误。tmp变量是一个具有唯一ID的字符串,用于查找缺少的值,而“2”应该是范围第二列中的公司名称

我查看了文档,但是类型和一切都很好,我甚至在调试时检查过

测试。单元格(8,计数器)也不可能是问题的根源,因为我以前是这样使用它的

testing.Cells(28, counter) = Left(mail.ReceivedTime, 10)

如果没有任何数据,很难知道问题出在哪里,但这里有一些东西可以帮助你朝着正确的方向前进

使用
Find
Offset
比 VBA中的工作表函数.Vlookup

类似这样的东西会给你完全相同的结果,但你有更多的控制权:

Sub Test()
    Dim valueFound As Range

    Set valueFound = lookupWS.Range("A2:A10354").Find(What:="Something", lookat:=xlWhole) 'xlWhole is equivalent to FALSE in VLOOKUP
    If valueFound Is Nothing Then
        MsgBox "Nothing found"
    Else
        MsgBox valueFound.Offset(0, 1) 'offsetting by 1 is equivalent to using 2 in a VLOOKUP
    End If
End Sub

在没有任何数据的情况下,很难知道问题出在哪里,但这里有一些东西可以帮助您朝着正确的方向前进

使用
Find
Offset
比 VBA中的工作表函数.Vlookup

类似这样的东西会给你完全相同的结果,但你有更多的控制权:

Sub Test()
    Dim valueFound As Range

    Set valueFound = lookupWS.Range("A2:A10354").Find(What:="Something", lookat:=xlWhole) 'xlWhole is equivalent to FALSE in VLOOKUP
    If valueFound Is Nothing Then
        MsgBox "Nothing found"
    Else
        MsgBox valueFound.Offset(0, 1) 'offsetting by 1 is equivalent to using 2 in a VLOOKUP
    End If
End Sub

什么是
查找
?那应该是
lookupRange
?声明一个不使用的变量,然后使用一个不声明的变量。请给出一个。查找值是否存在?看,没有任何数据,我们真的无能为力you@JohnColeman lookupRange是在代码中定义的,你是对的Lookups不是,我的错。Ist是worksheet@QHarr天哪,你是对的!当我再次使用PC时,我会将您的答案标记为正确。什么是
查找
?那应该是
lookupRange
?声明一个不使用的变量,然后使用一个不声明的变量。请给出一个。查找值是否存在?看,没有任何数据,我们真的无能为力you@JohnColeman lookupRange是在代码中定义的,你是对的Lookups不是,我的错。Ist是worksheet@QHarr天哪,你是对的!当我再次使用电脑时,我会将你的答案标记为正确。这样更好,错误反馈更好。这样更好,错误反馈更好