具有RC表示法和vlookup的activecell.formula无法正常工作

时间:2018-09-03 21:37:28

标签: excel vba excel-vba vlookup excel-r1c1-notation

我有此代码,但无法使用RC表示法

ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[1],ARTICULOS!$A:$I,4,FALSE)"

我要查找的值是“ activecell”之后的1列。

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))的更好的方法,但我暂时还没有想到,这种方法也可以。


更多信息: