我有这个代码,我无法使用RC表示法
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[1],ARTICULOS!$A:$I,4,FALSE)"
我正在寻找的值是“activecell”之后的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
开头的第4列,那么D
将是最后需要的列。
另请注意,我删除了R1C1,因为这里不需要它。
使用INDIRECT(ADDRESS(ROW(),COLUMN()+1))
可能还有一个更好的方法,但我现在想不到它,这种方式也有效。
INDIRECT
function (Excel)ADDRESS
function (Excel)A1
or R1C1
Notation