2024年6月14日发(作者:)

Excel VBA 中的 FormulaR1C1 方法Excel VBA 中的

FormulaR1C1 方法

BY ROBIN ON 2010年09月27日 · LEAVE A COMMENT · IN PROGRAMMING,

信息世界 | IT

最近在做项目的时候遇到了在 Excel VBA 代码中给 Sheet 中的单元格内输入公式

的问题,自己 Google 了一下,发现 FormulaR1C1 这个函数,这个函数还是很强大的,

自己简单了研究一下,为什么 Excel 能实现拖拽单元格时单元格中的公式能智能的根据位

置而变换?答案就是这个函数。

FormulaR1C1 是公式输入方法

中括号表示的是相对于选定单元格的相对偏移量,”-”为向左或向上偏移,正数为右

或下偏移。

无中括号表示的是相对于选定单元格的绝对偏移量,没有负数。

“R”和”C”表示的是待变“行”和“列”。

如:选定单元格为C8

R[-1]C[-1]为B7单元格,行列都-1,R[1]C[2]为E9单元格,行+1,列+2

R1C1代表A1单元格,R5C6代表F5单元格

例:C1单元格为”=A1+B1″

Range(“C1″).FormulaR1C1 = “=RC[-2]+RC[-1]”

例:C1单元格为”=A2+E3″

Range(“C1″).FormulaR1C1 = “=R[1]C[-2]+R[2]C[2]“

关于绝对引用的补充:

例:C1单元格为”=$A$2+$E$3″

Range(“C1″).FormulaR1C1 = “=R2C1+R3C5″

说明:

如果指定单元格包含常量,本属性返回的就是该常量。如果该单元格为空,本属性将

返回一个空字符串。如果该单元格包含公式,本属性将把该公式作为字符串返回,格式与

该公式在编辑栏中的显示格式相同(包括等号)。

如果将单元格的格式的值或公式设为日期类型,Microsoft Excel 将检查该单元格的

格式是否符合某个日期或时间数组格式,如果不符合,将采用默认的短日期数字格式。