admin 管理员组文章数量: 887021
2023年12月17日发(作者:java中什么是实例方法)
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 将检查该单元格的格式是否符合某个日期或时间数组格式,如果不符合,将采用默认的短日期数字格式。
如果指定区域是一维或二维区域,则可将公式指定为 Visual Basic 中相同维数的数组。同样,也可在 Visual Basic 数组中使用公式。
对多重单元格区域设置公式,则该区域中所有单元格都用此公式填充
在Excel的VBA应用中,常常会遇到FormulaR1C1属性的使用。那么,FormulaR1C1是用来干什么,又如何使用呢?
下面,就给你介绍有关这方面的知识。
①FormulaR1C1属性的功能
返回或设置指定对象的公式,使用宏语言 R1C1 格式符号表示。Variant 型,可读写。
②FormulaR1C1的语法
表达式.FormulaR1C1
表达式 一个代表 Range 对象的变量。
语法说明
如果单元格包含一个常量,此属性返回该常量。如果单元格为空,此属性返回一个空字符串。如果单元格包含公式,此属性将该公式作为字符串返回,所用格式与在编辑栏(包括等号)中显示时的格式相同。
如果将单元格的格式的值或公式设为日期类型,Microsoft Excel 将检查该单元格的格式是否符合某个日期或时间数组格式,如果不符合,将采用默认的短日期数字格式。
如果指定区域是一维或二维区域,则可将公式指定为 Visual Basic 中相同维数的数组。同样,也可在 Visual Basic 数组中使用公式。
对多重单元格区域设置公式,则该区域中所有单元格都用此公式填充。
③FormulaR1C1的简单例子
例子一:
Worksheets("Sheet1").Range("B1").FormulaR1C1 = "=SQRT(R1C1)"
作用是:给Sheet1工作表的B1单元格设置公式,所设置的公式为:"=SQRT(C2)
例子二:
Worksheets(1).Cells(3, 4).FormulaR1C1 = "=Average(RC[-3]:RC[-2])"
作用是,给编号为1的工作表中的D3单元格设置公式,所设置的公式为: =Average(A3:B3)
相关的例子及介绍都有很多,在这里不胜枚举,其中,涉及到CR的引用,与此相关的并与FormulaR1C1密切相关的知识,在本站亦有文章曾作过详细介绍,您可以拜读上一篇文章
版权声明:本文标题:Excel VBA 中的 FormulaR1C1 方法Excel VBA 中的 FormulaR1C1 方法 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1702806407h431607.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论