formular1c1


单元作文 2019-05-15 00:41:15 单元作文
[摘要]formular1c1篇1:Excel VBA 中的 FormulaR1C1 方法最近在做项目的时候遇到了在 Excel VBA 代码中给 Sheet 中的单元格内输入公式的问题,自己 Google 了一下,发现 FormulaR1C1 这个函数,这个函数还是很强大的,自己简单了研究一下,为什么 E

【www.shanpow.com--单元作文】

formular1c1篇1:Excel VBA 中的 FormulaR1C1 方法


最近在做项目的时候遇到了在 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 数组中使用公式。
对多重单元格区域设置公式,则该区域中所有单元格都用此公式填充。
Via MSDN

formular1c1篇2:excel 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)

formular1c1篇3:Excel VBA解读(55):在VBA中使用公式1——Formula属性和FormulaR1C1属...


在Excel中,我们经常使用各种各样的公式来进行数据的计算分析和处理,在VBA中也不例外。本文将介绍VBA中使用公式的相关属性。
为了更好地使用公式,让我们先看看Excel中的A1引用样式和R1C1引用样式,再来介绍VBA中与使用公式相关的属性。
 
理解A1引用样式和R1C1引用样式
Excel默认设置为A1样式引用,也就是我们熟悉的行以数字表示,列以字母表示。例如,A1表示工作表或者单元格区域左上角的单元格。
Excel还可以设置为R1C1样式引用,行列都以数字表示。例如,使用R1C1表示工作表左上角的单元格。此时,需要调出“Excel选项”对话框,勾选“R1C1引用样式”。
在下面的工作表中,我们使用了计算公式。其中,
列E = 列C * 列D
列F = 列E * 单元格I2
列G = 列E – 列F
单元格G8 = 单元格区域G2:G7之和
我们就以这张工作表来分析理解A1样式和R1样式。
 
使用A1样式公式如下图:
通常,我们在单元格中输入公式后,往下拉即可复制公式。例如,在单元格E2中输入公式=C2*D2,下拉至单元格E7,Excel会自动调整单元格相对引用并快速得出列E中的结果,列F、列G中也类似。但列F中的单元格I2不变,因为我们使用了绝对引用,即在行或列前加了$符号。
 
使用R1C1样式公式如下图:
可以看出,第5列、第6列、第7列中每列的公式都是相同的。也就是说,整个区域都可以使用同样的公式。
R1C1样式中,字母R代表行,字母C代表列,字母后面的方括号代表相对引用。字母R后面的方括号中的数字代表相对于当前单元格移动的行数,负数表示向上移动,正数表示向下移动。字母C后面的方括号中的数字代表相对于当前单元格移动的列数,负数表示向左移动,正数表示向右移动。例如,如果当前单元格D5中输入=R[1]C[-1],则引用的单元格为C6。
若字母R或C后面就是数字,没有方括号,则表示引用为绝对单元格。例如,=R3C2引用单元格B3,不管当前单元格处在哪里。
若字母R或C后面既没有方括号也没有数字,则表示引用与当前单元格相同的行或列。
 
为了更好地理解,下图演示了一些A1样式和R1C1样式的相对引用和绝对引用的例子。
 
在VBA中,Range对象的Formula属性和FormulaR1C1属性可以让我们分别使用A1样式和R1C1样式的公式。
 
认识Formula属性
我们通过一些简单的示例来认识Range对象的Formula属性。
例如,对于下面的工作表,要求在单元格C1中放置单元格区域A1:A5中的数值之和。代码如下:
结果如下图所示。从编辑栏可以看出,VBA代码在单元格C1中放置了公式:=SUM($A$1:$A$5),该公式执行相应的求和并得到结果。
如果要求在单元格区域C1:C5中的每个单元格中都放置单元格区域A1:A5中的数值之和,那么只需要将上面的代码中的引用区域Range(“C1”)修改为Range(“C1:C5”)。代码如下:
结果如图下图所示:
 
认识FormulaR1C1属性
在上面的示例中,使用FormulaR1C1属性,也能达到相同的效果。例如,代码:
在单元格D1中放置对单元格区域A1:A5中的数值求和的结果,如下图所示。
我们注意到,在单元格D1中显示的公式与前面使用Formula属性显示的公式相同,这是为什么呢?因为Excel默认设置为A1引用样式。
 
但是在录制宏时,宏录制器会以R1C1样式来录制输入的公式。例如,对于上面的工作表,当前单元格为C1,并在该单元格中输入公式=SUM($A$1:$A$5)求单元格区域A1:A5中的数值之和。我们使用宏录制器录制上述操作,代码如下:
 
 
关于Formula属性和FormulaR1C1属性的官方说明
两个属性都返回或者设置对象的公式,其中Formula属性表示使用A1引用样式表示法,FormulaR1C1属性表示使用R1C1样式引用。
说明:
如果单元格中是常量,则返回该常量。
如果单元格为空,则返回空字符串。
如果单元格中是公式,那么Formula属性以字符串形式返回该公式,该字符串与公式栏中显示的格式相同(包括等号)。
如果设置单元格中的值或公式为日期格式,Excel将验证单元格是否已经格式化为日期或者时间数字格式。如果不是,Excel将修改数字格式为默认的短日期数字格式。
如果单元格区域是一维
或二维单元格区域,那么设置该公式为相同维度的VB数组。类似地,可以将公式放置到VBA数组中。
设置多单元格区域的公式,使用该公式填充该区域内的所有单元格。
 
为什么要在VBA中使用R1C1样式的公式
至少有以下三个原因:
使用R1C1样式的公式,代码更简洁有效。
R1C1样式的公式更稳定,通用性强,不会因为单元格的变化而修改公式。
在VBA中的数组公式需要使用R1C1样式的公式。
下面举例说明。
 
在本文开头的工作表中,我们使用Excel公式计算相应的数据。现在,我们理解了A1引用样式和R1C1引用样式,以及Formula属性和FormulaR1C1属性后,使用VBA程序来计算表中的数据(见下图中红色阴影部分)。
使用A1样式的公式,程序代码如下:
使用R1C1样式的公式,程序代码如下:
 
下面是两段程序的执行过程视频:
 
可以看出,在某一区域中使用R1C1样式的公式,只需一个公式,即可对其进行全部计算,非常灵活,代码也更简洁。
再看下面的例子,我们需要在第11行计算合计分。
使用R1C1样式的公式,只需一句代码即可完成:
如果您对本文介绍的内容还有什么好的示例,欢迎发送邮件给我:[email protected]
也可以在本文下方留言,提出您的看法或建议。
本文属原创文章,转载请联系我或者注明出处。
 

本文来源:https://www.shanpow.com/xx/296965/

《formular1c1.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式

相关阅读
  • 五下第一单元作文范文(精选4篇) 五下第一单元作文范文(精选4篇)
  • 家乡的风俗优秀单元作文(通用5篇) 家乡的风俗优秀单元作文(通用5篇)
  • 五年级上册五单元作文【汇编四篇】 五年级上册五单元作文【汇编四篇】
  • 六年级多彩的活动单元作文(合集6篇) 六年级多彩的活动单元作文(合集6篇)
  • 插上科学的翅膀飞500字单元作文集合6篇 插上科学的翅膀飞500字单元作文集合6篇
  • 游记四年级上册单元作文500字范文五篇 游记四年级上册单元作文500字范文五篇
  • 《____让生活更美好》单元作文六篇 《____让生活更美好》单元作文六篇
  • 介绍一种事物五年级上册第五单元作文【二十一篇】 介绍一种事物五年级上册第五单元作文【二十一篇】
为您推荐