2016-12-06 279 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」) - 我怎麼限制工作表名稱? –