《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成果全在下面的资料中: