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

2024-02-15 20:12

本文主要是介绍VBA中表示单元格样式A1、R1C1和R[1]C[1]之间的区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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

第六节 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

代码截图:

32d2ddad0bd3588c783ea96c1abdb203.jpeg

代码的解读:

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

我们来看运行的结果:

7ef7f1731f5532190cb933a624a1740c.jpeg

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

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

Sub mynzB()

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

End Sub

代码截图:

b3fb6472985d8a34dc4f112ed435746a.jpeg

代码解读:

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

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

代码的运行结果:

6ee5f1c5679f842a5098bb985fcd3c10.jpeg

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

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

Sub mynzC()

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

End Sub

代码截图:

6523975769a5ff158a24535b4882c8f0.jpeg

代码解读:

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

代码的运行结果:

e1a87c0e34f21a31f68f653b2b96cb54.jpeg

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

今日内容回向:

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

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

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

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

1282c366cf8036d1190d768632fcab7f.jpeg

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


f2f4b0dd3f554d144c62275286b1d1d5.jpeg

e1c4a870ed04141f8f0ef7cf30090146.jpeg

这篇关于VBA中表示单元格样式A1、R1C1和R[1]C[1]之间的区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/712421

相关文章

Java对象和JSON字符串之间的转换方法(全网最清晰)

《Java对象和JSON字符串之间的转换方法(全网最清晰)》:本文主要介绍如何在Java中使用Jackson库将对象转换为JSON字符串,并提供了一个简单的工具类示例,该工具类支持基本的转换功能,... 目录前言1. 引入 Jackson 依赖2. 创建 jsON 工具类3. 使用示例转换 Java 对象为

HTML5中下拉框<select>标签的属性和样式详解

《HTML5中下拉框<select>标签的属性和样式详解》在HTML5中,下拉框(select标签)作为表单的重要组成部分,为用户提供了一个从预定义选项中选择值的方式,本文将深入探讨select标签的... 在html5中,下拉框(<select>标签)作为表单的重要组成部分,为用户提供了一个从预定义选项中

前端 CSS 动态设置样式::class、:style 等技巧(推荐)

《前端CSS动态设置样式::class、:style等技巧(推荐)》:本文主要介绍了Vue.js中动态绑定类名和内联样式的两种方法:对象语法和数组语法,通过对象语法,可以根据条件动态切换类名或样式;通过数组语法,可以同时绑定多个类名或样式,此外,还可以结合计算属性来生成复杂的类名或样式对象,详细内容请阅读本文,希望能对你有所帮助...

解读Pandas和Polars的区别及说明

《解读Pandas和Polars的区别及说明》Pandas和Polars是Python中用于数据处理的两个库,Pandas适用于中小规模数据的快速原型开发和复杂数据操作,而Polars则专注于高效数据... 目录Pandas vs Polars 对比表使用场景对比Pandas 的使用场景Polars 的使用

Java中ArrayList和LinkedList有什么区别举例详解

《Java中ArrayList和LinkedList有什么区别举例详解》:本文主要介绍Java中ArrayList和LinkedList区别的相关资料,包括数据结构特性、核心操作性能、内存与GC影... 目录一、底层数据结构二、核心操作性能对比三、内存与 GC 影响四、扩容机制五、线程安全与并发方案六、工程

java父子线程之间实现共享传递数据

《java父子线程之间实现共享传递数据》本文介绍了Java中父子线程间共享传递数据的几种方法,包括ThreadLocal变量、并发集合和内存队列或消息队列,并提醒注意并发安全问题... 目录通过 ThreadLocal 变量共享数据通过并发集合共享数据通过内存队列或消息队列共享数据注意并发安全问题总结在 J

Java文件与Base64之间的转化方式

《Java文件与Base64之间的转化方式》这篇文章介绍了如何使用Java将文件(如图片、视频)转换为Base64编码,以及如何将Base64编码转换回文件,通过提供具体的工具类实现,作者希望帮助读者... 目录Java文件与Base64之间的转化1、文件转Base64工具类2、Base64转文件工具类3、

java中不同版本JSONObject区别小结

《java中不同版本JSONObject区别小结》本文主要介绍了java中不同版本JSONObject区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录1. FastjsON2. Jackson3. Gson4. org.json6. 总结在Jav

CSS自定义浏览器滚动条样式完整代码

《CSS自定义浏览器滚动条样式完整代码》:本文主要介绍了如何使用CSS自定义浏览器滚动条的样式,包括隐藏滚动条的角落、设置滚动条的基本样式、轨道样式和滑块样式,并提供了完整的CSS代码示例,通过这些技巧,你可以为你的网站添加个性化的滚动条样式,从而提升用户体验,详细内容请阅读本文,希望能对你有所帮助...

数据库使用之union、union all、各种join的用法区别解析

《数据库使用之union、unionall、各种join的用法区别解析》:本文主要介绍SQL中的Union和UnionAll的区别,包括去重与否以及使用时的注意事项,还详细解释了Join关键字,... 目录一、Union 和Union All1、区别:2、注意点:3、具体举例二、Join关键字的区别&php