2016-12-06 280 views
0

我不断收到运行我的语法需要使用VLOOKUP()使用VBA

对象的错误。这是我的语法,但它不成功。我如何将Vlookup()值写入我当前的工作表单元格T1?

Public Sub Test() 
    Dim dblInfo 
    dblInfo = Application.WorksheetFunction.VLookup("A2", Sheet1.Range("A2:F171"), 4, False) 
    Range("T1").Select 
    ActiveCell.FormulaR1C1 = dblInfo 
End Sub 
+0

没错哪条线提高了“需要对象”的错误? –

+0

请注意,当查找失败时,您将遇到另一个运行时错误(1004),而您没有处理它。 'dblInfo'应该用明确的类型声明(并且没有匈牙利前缀); 'Dim whateverThis实际上是双倍的'。如果你的意思是'dblInfo'在查找失败时包含一个错误值,那么声明它为'As Variant'并且使用后期绑定的'Application.VLookup'函数。有关更多详细信息,请参见[此答案](http://stackoverflow.com/a/40877404/1188513)。 –

回答

1

如果你只是想进入VLOOKUP公式为T1

Range("T1") = "=VLookup(A2, Sheetname!A2:F171, 4, False)" 

否则,如果要计算VLOOKUP,然后就进入结果...

Range("T1") = Application.WorksheetFunction.VLookup([A2], Sheetname.Range("A2:F171"), 4, False) 
+0

最高解决方案是给我一个#NAME?在单元格T1和底部给我相同的对象所需的错误 –

+0

是的,编辑...我不小心打中提交太快... – Rdster

+0

A2:F171是在不同的表格比范围(“T1”) - 我怎么限制工作表名称? –