2012-05-13 89 views
1

我試圖使用VLOOKUP,但與列偏移量的變量。例如:=VLOOKUP(RC[-1],'Sheet2'!C[-14],1,FALSE)我想用命名變量替換-14
任何人都可以在這裏指出正確的方向嗎?Excel VB Vlookup

回答

1

您可以使用OFFSET工作表函數,如像:=VLOOKUP(RC[-1],OFFSET(Sheet2!C,0,YourNamedVariable),1,FALSE)

+0

似乎不是來工作的。我認爲這是公式的類型我試圖在這裏使用,導致這個問題。這裏有更多的細節。這是我的代碼的整個行:ActiveCell.FormulaR1C1 =「= VLOOKUP(RC [-41],'電話號碼歷史'!C [-52],1,FALSE)」 –

+0

ooops,擊中ruturn。該「ActiveCell」在Sheet1上,該公式按照您在此處看到的方式工作。但我需要能夠將該值(-52)作爲一個變量。將公式更改爲包含OFFSET或任何其他函數,仍然不會接受對變量的引用。 –

+0

變量的值在您設置FormulaR1C1屬性時是否已修復,或者是否可以在之後更改? 如果它是固定的(並且存儲在一個名爲X的VBA變量中),您可以簡單地使用如下形式:'ActiveCell.FormulaR1C1 =「= VLOOKUP(RC [-41],'call number history'!C [ X&「],1,FALSE)」'。否則,您需要使用類似於我的第一個建議的地方,您可以用'YourNamedVariable'替換:a)Excel中的命名範圍,b)用戶定義的函數,c)單元格引用,或者d)任何其他計算所需數字的Excel表達式。 –