VBA之Excel应用第五节:录制宏时,使用绝对引用和相对引用

news2024/9/29 17:22:42

《VBA之Excel应用》(版权10178983)是非常经典的,是我推出的第七套教程,定位于初级,目前是第一版修订。这套教程从简单的录制宏开始讲解,一直到窗体的搭建,内容丰富,实例众多。大家可以非常容易的掌握相关的知识,这套教程共三册,十七章,都是我们在利用EXCEL工作过程中需要掌握的知识点,希望大家能掌握利用。今日讲解的内容是:VBA之Excel应用第五节:录制宏时,使用绝对(Absolute)引用和相对(Relative)引用ae59ffb6856fe37d80ebeab7f8fe1c0b.jpeg

【分享成果,随喜正能量】放开心胸,堂堂正正,不计较眼前荣辱得失。一生做事光明磊落,心境恬然自得,自然吉祥遂愿,平安自在,乐享天年。 得此偈者,命途多舛,起起伏伏,时而阴云密布,时而朗天开。虽命途风雨阴晦,坡坎沟壑,但要堂堂正正做人,这样才能时来运转,祥光永照,天年长享。。

第五节 录制宏时,使用绝对(Absolute)引用和相对(Relative)引用的区别

大家好,我们继续VBA的学习,在上一讲中,我们讲到对于初学VBA人员,可以录制一段代码让一些重复的工作能自动完成。这不失为一种提高效率的方法。但我们在录制宏的时候,一定要注意区别绝对引用和相对引用。这节我将就这个问题给大家以详细讲解。

1 绝对引用时代码的录制效果

所谓绝对引用,是单元格中的绝对单元格引用(例如$A$1)总是在指定位置引用单元格。如果公式所在单元格的位置改变,绝对引用保持不变。如果多行或多列地复制公式,绝对引用将不作调整。默认情况下,新公式使用相对引用,需要将它们转换为绝对引用。例如,如果将单元格B2 中的绝对引用“=$A$1”复制到单元格B3,则在两个单元格中一样,都是 “=$A$1”。

在VBA录制宏的时候默认采用的是绝对引用的方式。

例如,我们要录制一段宏,录制的内容是:在单元格A1中录入:“VBA世界”,A2中录入“VBA学习”,A3中录入“VBA代码”

我们看一下录制的效果:

Sub 宏2()

Range("A1").Select

ActiveCell.FormulaR1C1 = "VBA世界"

Range("A2").Select

ActiveCell.FormulaR1C1 = "VBA学习"

Range("A3").Select

ActiveCell.FormulaR1C1 = "VBA代码"

End Sub

代码截图:

19b1385cedb44398fdaa4a7b5b46fa29.jpeg

2 相对引用时代码的录制效果

所谓相对单元格引用(例如 A1)是基于包含公式和单元格引用的单元格的相对位置。如果公式所在单元格的位置改变,引用也随之改变。如果多行或多列地复制公式,引用会自动调整。默认情况下,新公式使用相对引用。例如,如果将单元格 B2 中的相对引用复制到单元格 B3,将自动从 =A1 调整到 =A2。

在录制宏的时候,如果需要相对引用,需要按如下的处理方式:

第一:先点击“使用相对应用”;第二:再点击“录制宏”

f77b64f4ddcd70bdae7bd2ef09617f08.jpeg

实现同样的录制内容:在单元格A1中录入:“VBA世界”,A2中录入“VBA学习”,A3中录入“VBA代码”的一段宏,我们看看在选择相对引用的情况下产生的代码:

Sub 宏3()

ActiveCell.FormulaR1C1 = "VBA世界"

ActiveCell.Offset(1, 0).Range("A1").Select

ActiveCell.FormulaR1C1 = "VBA学习"

ActiveCell.Offset(1, 0).Range("A1").Select

ActiveCell.FormulaR1C1 = "VBA代码"

End Sub

代码截图:

15612ebfa634330ef379a89b22a6445e.jpeg

3 绝对引用录制宏和相对引用录制宏的效果区别

两种方法的代码在实现效果上有什么区别呢?我们先在工作表窗口建立两个运行按钮分别来实现这两种引用的效果,如下图所示的两个按钮。

8bedd81181c72ce751fa42549b6aafe6.jpeg

同时我给出了当前活动单元格的位置;

我们先点击“绝对引用”的运行按钮,实现的效果如下:

61983ad352945bab53e686d6b7043395.jpeg

我们仍旧把光标点到“C9”单元格的位置,点击“相对引用”的运行按钮,实现的效果如下:

030185702623fde3bc3a0642a904602a.jpeg

此时我们发现,我们填入的三组字符出现在了C9,C10,C11 三个单元格内。也就是说,在相对引用条件下录入的代码是以相对于当前活动单元格的录入效果。

今日内容回向:

1)什么是绝对引用,什么是相对引用?

2)绝对引用和相对引用条件下录制的宏代码有何不同?

3) 绝对引用和相对引用条件下录制的宏代码在实现效果上有何不同?

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

1295a08d10d413dd25ddb143895384f6.jpeg

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


a5bee78a77aec6bc6868cf353bfc3062.jpeg

476c4253f05be75afc0ee2e2319c5e52.jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1386538.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

乡镇景区外卖需求的上涨,现在下场做外卖平台服务晚不晚?

如今,在田间地头点外卖已经变成了现实。随着外卖市场的发展,外卖消费的多样化场景逐渐显现,不仅在田间可以订餐外卖,出门旅行的任何地方都可以点上一份热腾腾的外卖送到面前。特别是从去年开始旅游经济恢复之后,外卖也…

分类预测 | Matlab实现ZOA-CNN-MATT-SVM斑马优化卷积神经网络多头注意力机制结合支持向量机的数据分类预测【24年新算法】

分类预测 | Matlab实现ZOA-CNN-MATT-SVM斑马优化卷积神经网络多头注意力机制结合支持向量机的数据分类预测【24年新算法】 目录 分类预测 | Matlab实现ZOA-CNN-MATT-SVM斑马优化卷积神经网络多头注意力机制结合支持向量机的数据分类预测【24年新算法】分类效果基本描述程序设计…

构建镜像:探索容器化应用部署的核心技术

目录 引言:前提准备:构建镜像:基本结构准备工作镜像运行镜像优化 总结 引言: 容器化应用部署已经成为当今软件开发和运维中的热门话题。构建镜像是容器化部署的关键步骤之一,它能够帮助开发人员和运维团队快速、高效地…

Flink-容错机制

Flink中的容错机制 流式数据连续不断地到来,无休无止;所以流处理程序也是持续运行的,并没有一个明确的结束退出时间。机器运行程序,996 起来当然比人要容易得多,不过希望“永远运行”也是不切实际的。因为各种硬件软件…

排序——归并排序

文章目录 基本思想递归版本思路代码实现 非递归版思路代码实现 结果演示 基本思想 归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide andConquer)的一个非常典型的应用。将已有序的子序列…

基于深度学习的时间序列算法总结

1.概述 深度学习方法是一种利用神经网络模型进行高级模式识别和自动特征提取的机器学习方法,近年来在时序预测领域取得了很好的成果。常用的深度学习模型包括循环神经网络(RNN)、长短时记忆网络(LSTM)、门控循环单元&a…

数据库知识汇总之MySQL

目录 MySQL数据库特点MySQL下载MySQL配置文件初始化MySQL配置安装MySQL服务 启动MySQL服务登录数据库修改数据库登录密码MySQL错误代码1130 MySQL数据库特点 MySQL是一个开源关系型数据库管理系统(RDBMS),由Oracle公司维护和开发。它使用SQL语言进行数据库管理和操…

mfc140.dll丢失了要怎么解决?多种解决mfc140.dll方法对比

mfc140.dll丢失了怎么办?mfc140.dll丢失的多个解决方法今天就来给大家详细的说说,因为平时实在是太多人咨询这个问题了,都说自己电脑的mfc140.dll找不到了,一些程序没办法运行,所以还是给大家分析一下mfc140.dll。 一.…

droupout(Pytorch中的代码实现)

图片来源: 【Pytorch】torch.nn.Dropout()的两种用法:防止过拟合 & 数据增强-CSDN博客 注意: droupout可以进行数据增强或者防止数据过拟合。 droupout在全连接层之后,使得部分神经元失活,但是为什么能保持数据…

使用官方构建工具来创建一个vue3的项目

当你使用 Vite 构建项目时,可能会发现在命令行界面无法选择是否包含 TypeScript 等其他基础配置。此外,使用 vue create 命令创建项目时,默认会使用 vue-cli,但项目启动等过程可能较慢。在这种情况下,你可以参考以下步…

如何使用Java采集汽车之家车辆配置参数信息

目录 一、引言 二、采集工具选择 三、采集流程设计 1、确定采集目标 2、确定采集URL 3、发送HTTP请求 4、解析HTML页面 5、CSS选择器或jQuery选择器。 6、异常处理和日志记录 四、代码实现示例 五、结果与分析 六、结论 随着互联网的普及和信息技术的不断发展&…

VS代码生成工具ReSharper v2023.3正式发布——支持C# 12

实质上,ReSharper特征可用于C#,VB.net,XML,Asp.net,XAML,和构建脚本。 使用ReSharper,你可以进行深度代码分析,智能代码协助,实时错误代码高亮显示,解决方案范…

Redis基础系列-哨兵模式

Redis基础系列-哨兵模式 文章目录 Redis基础系列-哨兵模式1. 引言2. 什么是哨兵模式?3. 哨兵模式的配置4. 哨兵模式的启动和验证4.1 主master宕机,看会出现什么问题4.2 重启6379主机 5. 哨兵模式的工作原理和选举原理5.1. SDown主观下线(Subj…

Linux 下GEO Server发布图层后,中文乱码解决方案

发布的图层,显示中文乱码,都是框框:如“口口” 第一步先查看Linux字符集 如下命令所示: 1.查看当前系统语言 echo $LANG2.查看安装的语言包 locale如果上面的命令执行后显示的是en_US.UTF-8,则说明当前语言系统及安…

【STM32】STM32学习笔记-MPU6050简介(32)

00. 目录 文章目录 00. 目录01. MPU6050简介02. MPU6050参数03. MPU6050硬件电路04. MPU6050框图05. MPU6050常用寄存器06. 附录 01. MPU6050简介 •MPU6050是一个6轴姿态传感器,可以测量芯片自身X、Y、Z轴的加速度、角速度参数,通过数据融合&#xff0…

2024年甘肃省职业院校技能大赛信息安全管理与评估 样题一 模块二

竞赛需要完成三个阶段的任务,分别完成三个模块,总分共计 1000分。三个模块内容和分值分别是: 1.第一阶段:模块一 网络平台搭建与设备安全防护(180 分钟,300 分)。 2.第二阶段:模块二…

《动手学深度学习》学习笔记 第8章 循环神经网络

本系列为《动手学深度学习》学习笔记 书籍链接:动手学深度学习 笔记是从第四章开始,前面三章为基础知识,有需要的可以自己去看看 关于本系列笔记: 书里为了让读者更好的理解,有大篇幅的描述性的文字,内容很…

前端框架前置学习Node.js(2)

npm - 软件包管理器 定义 npm是Node.js标准的软件包管理器 npm仓库中包含大量软件包,使其成为世界上最大的单一语言代码仓,并且可以确定几乎可用于一切的软件包 最初是为了下载和管理Node.js包依赖的方式,但其现在已成为前端JavaScript中使用的工具 使用: 1.初始化清单文…

使用Dockerfile构建镜像的详细指南

目录 前言 一、什么是 Dockerfile 二、使用 Dockerfile 定制镜像 开始构建镜像 上下文路径 三、指令详解 四、构建阿里云仓库 前言 Docker是一种流行的容器化平台,可以帮助开发人员和运维团队更轻松地构建、发布和运行应用程序。在Docker中,镜像是…

WIFI7时代正式来临

Wi-Fi联盟在2024年1月8日宣布推出了Wi-Fi CERTIFIED 7认证,标志着WIFI7时代的正式来临!这一认证引入了一系列强大的新功能,旨在提升Wi-Fi性能并改善各种连接环境。WIFI7支持多用户AR/VR/XR、沉浸式3D培训、电子游戏、混合工作、工业物联网和汽…