2017-01-24 147 views
0

我想添加一個VLOOKUP到列中輸入數據從一個表到另一個。查找表中表格數組的大小會有所不同,所以我想在公式中添加一個變量。Excel VBA,使用變量與VLOOKUp

這是我到目前爲止有:

Sheets("Page1_5").Select 

Dim CountryRow As Long 
Cells(5, 1).Select 
Selection.End(xlDown).Select 
CountryRow = ActiveCell.Row 
Sheets("Results").Select 
Range("B2").Select 
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],Page1_5!$A$5:$F$" & CountryRow & ",6,FALSE)" 

任何援助將受到歡迎

+0

你爲什麼不只是轉換至一個表,然後使用名爲範圍的列標題?這些將自動調整而不需要VBA。 – Jordan

回答

0

你應該堅持的方法,並用它去 - 在您使用Cells(5, 1).Select開始,以後你是使用Range("B2").Select,最後在VLookup之內,您同時擁有RC[-1]$A$5:$F$" & CountryRow

另外,不需要使用SelectSelectionActiveCell,但是您可以使用完全限定的工作表和範圍。

嘗試下面的代碼:

Option Explicit 

Sub TestVlookup() 

Dim CountryRow As Long 

With Sheets("Page1_5") 
    CountryRow = .Range("A5").End(xlDown).Row 
End With 

With Sheets("Results") 
    Range("B2").Formula = "=VLOOKUP(A2,Page1_5!$A$5:$F$" & CountryRow & ",6,FALSE)" 
End With 

End Sub 
+0

@Thomas Gaston你測試了代碼嗎?它按照你的意圖工作嗎? –

+0

謝謝。鍛鍊了一種享受:) –