activecell.formula RC 表示法和 vlookup 不起作用 vba
activecell.formula with RC notation and vlookup not working vba
我有这段代码,但无法使用 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
- 办公室支持:Create or change a cell reference
我有这段代码,但无法使用 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
orR1C1
Notation - 办公室支持:Create or change a cell reference