龙空技术网

VBA中表示单元格样式A1、R1C1和R[1]C[1]之间的区别

VBA语言専攻 359

前言:

当前姐妹们对“r1c1样式”都比较关怀,朋友们都需要知道一些“r1c1样式”的相关资讯。那么小编也在网摘上收集了一些有关“r1c1样式””的相关知识,希望姐妹们能喜欢,姐妹们一起来学习一下吧!

《VBA之Excel应用》(版权10178983)是非常经典的,是我推出的第七套教程,定位于初级,目前是第一版修订。这套教程从简单的录制宏开始讲解,一直到窗体的搭建,内容丰富,实例众多。大家可以非常容易的掌握相关的知识,这套教程共三册,十七章,都是我们在利用EXCEL工作过程中需要掌握的知识点,希望大家能掌握利用。今日讲解的内容是:VBA之Excel应用第六节:VBA中表示单元格样式A1、R1C1和R[1]C[1]之间的区别

【分享成果,随喜正能量】一切痛苦的根源在于我执。我执的因在於:我们沉溺在贪、嗔、痴、慢、疑的泥沼里不能自拔,有时明明知道自己这样去想、这样去做不对,但仍然让自己的心像脱缰的野马一样横冲直撞,纵容自己为所欲为,造身业、造口业、造意业,让自己痛苦不堪,扰乱自心、扰乱众生心。谨记:一念放下,万般自在。。

第六节 VBA中表示单元格样式A1、R1C1和R[1]C[1]之间的区别

大家好,我们继续讲解VBA的相关知识。这讲的内容是“VBA中表示单元格样式A1、R1C1和R[1]C[1]之间的区别”。在VBA中A1、R1C1和R[1]C[1]均表示单元格。这在我们录制VBA时是随处可见的,通过这讲的学习,我们要掌握这三种单元格表示方法的意义。

1 以“A1”样式表示单元格

我们在工作表上放置一个运行按钮,并关联上以下的过程代码(A1样式):

Sub mynzA()

Range("D4").Formula = "=B3*10"

End Sub

代码截图:

代码的解读:

Range("D4").Formula = "=B3*10" 意义就是在单元格“D4”中录入公式“=B3*10”,这里对于单元格的表示用的是“B3”,是一种绝对单元格的表示方式。

我们来看运行的结果:

2 以“R1C1”样式表示单元格

我们在工作表上放置一个运行按钮,并关联上以下的过程代码(R1C1样式):

Sub mynzB()

Range("D5").FormulaR1C1 = "=R3C2*10"

End Sub

代码截图:

代码解读:

Range("D5").FormulaR1C1 = "=R3C2*10" 表示在“D5”的单元格中录入公式:"=R3C2*10"

其中R3C2表示的是第三行第二列的单元格即B3单元格,这种表示是单元格的另外一种表示方式。

代码的运行结果:

3 以“R[1]C[1]”样式表示单元格

我们在工作表上放置一个运行按钮,并关联上以下的过程代码(R[1]C[1]样式):

Sub mynzC()

Range("D6").FormulaR1C1 = "=R[-3]C[-2]*10"

End Sub

代码截图:

代码解读:

Range("D6").FormulaR1C1 = "=R[-3]C[-2]*10" 的意思是在"D6"这个单元格中录入公式:"=R[-3]C[-2]*10"。其中R[-3]C[-2]指的是对于"D6"这个单元格行是向上3行,列是向左2列的单元格,仍是B3单元格,的引用。这是一个相对引用。

代码的运行结果:

以上是在录制宏的过程中经常会看到的录制结果,大家要认真掌握。

今日内容回向:

1) 单元格的引用样式在录制宏时的表现有哪些?

2) 这些样式中哪个是绝对引用,哪个是相对引用?

3) 对于单元格相对引用来讲,行列的位置是如何规定的?

本讲内容参考程序文件:工作簿01.xlsm

我20多年的VBA成果全在下面的资料中:

标签: #r1c1样式