FormulaR1C1 问题

Issue with FormulaR1C1

我需要一些关于 VBA 中的公式的帮助:

=IFERROR(VLOOKUP(J3,'Int Data'!D:J,7,0),"")

我已尝试 运行 以下操作:

Range("AP2").Select    
ActiveCell.Formula = "=IFERROR((VLOOKUP(RC[-1],(J3,'Agent Table'!D:J,7,0),"")"    
Range("AP2").Select    
Selection.Copy    
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False    
Cells.Select    
Cells.EntireColumn.AutoFit

当我尝试 运行 这个语句时 -

ActiveCell.Formula = "=IFERROR((VLOOKUP(RC[-1],(J3,'Agent Table'!D:J,7,0),"")"

我得到了一个:

Run-time error '1004'

请问这个说法有什么问题吗?

您需要 .FormulaR1C1 而不是 .Formula

ActiveCell.FormulaR1C1 = "=IFERROR(VLOOKUP(R3C10,'Agent Table'!C4:C10,7, 0)"""")"

R3C10J3R1C1 表示法。

如果你是用宏记录器看公式,select"Use Relative References"在开发者选项卡中更改地址的显示方式:

您在同一个公式中结合了 A1 和 R1C1 引用,应该避免这种情况。

一般来说,R1C1 是 VBA 的首选参考样式。它可能需要更多的击键,但它在访问单元格时提供了更好的控制。