2012-05-13 90 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表达式。 –