我有此代码,但无法使用RC表示法
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[1],ARTICULOS!$A:$I,4,FALSE)"
我要查找的值是“ activecell”之后的1列。
答案 0 :(得分:-1)
正如@Scott所指出的,您不能混合使用 R1C1 和 A1 表示法。
无论您要做什么,可能都有一种更有效的方法来完成它,但是就目前而言,这应该可以大致给出您想要的结果:VLOOKUP
公式与lookup_value
ActiveCell
右侧一个单元格中的所有内容。
ActiveCell.Formula = "=VLOOKUP(INDIRECT(ADDRESS(ROW(),COLUMN()+1)),ARTICULOS!$A:$D,4,FALSE)"
请注意,我还更改了lookup_range
,使其在列D
上停止,因为如果您在以A
开头的第四列中查找,则D
将是最后需要的列。
还要注意,我删除了R1C1,因为这里不需要它。
也许还有一种使用INDIRECT(ADDRESS(ROW(),COLUMN()+1))
的更好的方法,但我暂时还没有想到,这种方法也可以。
INDIRECT
function (Excel) ADDRESS
function (Excel) A1
or R1C1
Notation