FormulaR1C1的问题

时间:2018-09-26 14:59:08

标签: excel vba formula excel-r1c1-notation

我需要一些有关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),"")"

我得到了:

  

运行时错误'1004'

能否请您告知此声明有什么问题?

2 个答案:

答案 0 :(得分:3)

您需要.FormulaR1C1而不是.Formula

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

R3C10R1C1的{​​{1}}表示法。

如果您使用宏记录器查看公式,请在开发人员标签中选择“使用相对引用”以更改地址的显示方式:

enter image description here

答案 1 :(得分:0)

您要在同一公式中组合引用的A1和R1C1,因此应避免这种情况。

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