Excel VBA宏
一、宏与VBA
什么是宏与VBA
VBA(Visual Basic for Applications)是[Visual Basic](https://baike.baidu.com/item/Visual Basic)的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展Windows的应用程序功能,特别是[Microsoft Office](https://baike.baidu.com/item/Microsoft Office)软件。它也可说是一种应用程式视觉化的 Basic 脚本。
宏在计算机科学里是一种抽象(Abstraction),它根据一系列预定义的规则替换一定的文本模式。解释器或编译器在遇到宏时会自动进行这一模式替换。对于编译语言,宏展开在编译时发生,进行宏展开的工具常被称为宏展开器。
宏这一术语也常常被用于许多类似的环境中,它们是源自宏展开的概念,这包括键盘宏和宏语言。绝大多数情况下,“宏”这个词的使用暗示着将小命令或动作转化为一系列指令。
在这里,我们通过VBA编写的一系列列指令组成的程序,称之为宏。通过学习VBA编写宏,有利于我们高效完成重复性的数据任务。
二、录制第一个宏
1、环境准备:
1.打开Excel,进入开始页面,点击选项
2.在选项里面启用开发者工具选项
3.在Excel最上边一栏中就出现了开发者工具,里面就有宏
2、开始录制第一个宏
1.源数据准备,准备两份相同的数据方便后面检验宏的效果,在Sheet2里准备和Sheet1相同的数据。
区域 | 省份 | 1月 | 2月 | 3月 | 4月 | 5月 | 6月 |
---|---|---|---|---|---|---|---|
华中 | 湖南省 | 4124578 | 2219791 | 2312553 | 2733342 | 2077356 | 1622397 |
华中 | 湖北省 | 3836901 | 2724075 | 822557 | 3696787 | 1949455 | 3271464 |
华中 | 安徽省 | 734152 | 2043402 | 1873927 | 2623462 | 2442073 | 678309 |
华中 | 江西省 | 652988 | 719675 | 758785 | 2298703 | 629380 | 359503 |
华南 | 福建省 | 2402120 | 859073 | 2222589 | 2482702 | 1372642 | 4364248 |
华南 | 广东省 | 1192215 | 4386766 | 948114 | 3399607 | 4488676 | 2834708 |
华南 | 海南省 | 2390163 | 3669796 | 1337083 | 4198628 | 1924993 | 3153451 |
华东 | 上海市 | 3771948 | 3611844 | 899594 | 1452958 | 3036240 | 1405649 |
华东 | 浙江省 | 2124820 | 4915076 | 2362902 | 1829293 | 1727879 | 2422167 |
华东 | 山东省 | 3592079 | 4491830 | 226058 | 1123985 | 4655060 | 4122184 |
华东 | 江苏省 | 4206888 | 2106160 | 1580212 | 3051050 | 440935 | 1229652 |
华北 | 北京市 | 4513520 | 2510656 | 2930520 | 3385216 | 2517223 | 4488737 |
华北 | 河北省 | 2953720 | 212384 | 2151415 | 2084952 | 869312 | 395011 |
华北 | 天津市 | 1368565 | 657230 | 3501192 | 746629 | 2380856 | 1161643 |
2.然后点击 “开始录制宏”
在这里插入图片描述
确定后宏录制就已经开始
4.宏操作
1)对这个表格的第一行进行底色和字体颜色的处理
选中之后在开始里面选择填充颜色和字体颜色
2)在表格中间随便选择一格数据 Ctrl+A 选择全体数据进行居中处理
3)准备的数据里面的数字是销售额,所以我们选择这里的数字格式设置为货币格式,调整小数点后面的数字的个数,减少,只要整数
设置完成后的效果图
5.停止录制,至此,宏已经录制完毕
6.然后可以用我们自己定义好的快捷键Ctrl+Shift+A启用宏,检验宏的效果
3、查看宏背后的VBA代码
单击Visual Basic查看VBA窗口,这个窗口是编写VBA代码的一个环境
提示:
如果看不见代码文件的列表就单击视图,选择工程资源管理器即可。
列表里面有两项,一个是Excel对象,一个是模块
双击模块1就可以看见代码窗口,就是我们刚才录制的宏的代码
4、怎么保存带有宏程序的Excel
为了保证Excel的安全性,防止有VBA病毒植入,所以保存的时候要另存为 xlsm格式
再次打开我们保存的带有宏程序的文件
启用即可
5、宏文件的安全设置
Excel 开始 --> 选项 --> 信任中心
在受信任位置处选择添加新位置,将我们平时存放学习宏的文件夹添加进去。这样再打开的时候就不会有启用提示了。
三、使用相对引用录制宏
1、宏功能说明:
隔行变色
2、先录制一个普通的宏
步骤:
1.选中一行
2.填充颜色
3.隔一行选择
在Sheet2里测试宏,确定生效。
但是再次执行的时候不会有新的变化,就是只能实现变色一次,这是为什么?
3、查看VBA代码
4、使用相对引用录制宏
还是先录制宏,给宏命名之后在开始操作前单击 使用相对引用
宏规则和步骤如上所示,录制完成后在Sheet4使用,发现可以隔行变色的功能可以重复实现。
5、查看两个宏的VBA代码
6、通过表单控件运行宏
在开发者工具里面选择
插入 --> 表单控件 --> 在空白处点击 --> 关联要使用的宏
按我们使用宏的规则,点击按钮就可以看到使用效果
注意:
宏的使用是不可撤销的,所以对宏的操作一定要慎重
按钮的移动是鼠标右键选中移动
7、快速访问工具栏运行宏
在Excel选项里面点击快速访问栏
选中我们要的宏添加到 自定义快速访问工具栏
还可以修改宏在自定义快速访问工具栏里的图标
使用宏的时候在这里点击即可
8、保存宏到个人工作簿
保存到个人工作簿里的宏在全局都可见。
因为要想用当前工作簿中的宏的时候需要把这个宏文件打开,这样才可以在其他文件中使用。定义到个人工作簿中的宏则不受这个限制。
操作方式:
录制宏的时候保存在选择为个人工作簿
剩下的过程如上所示,用隔行变色的功能即可
确定宏可用之后检查宏
可以看见和以前的宏不同的是出现了PERSONAL.XLSB这样的新格式
在当前Excel的视图里点击取消隐藏,就可以看见这个文件,它默认是隐藏的。
我们的保存在个人工作簿中的宏程序就是保存在PERSONAL.XLSB这个文件中的。
我们再打开其他的Excel文档,找到宏,查看就可以发现隔行变色这个宏
Excel VBA宏相关推荐
- Excel VBA 宏自动创建表格
Excel VBA 宏 - 自动创建表格 应朋友的需求,编写了一个 VBA 宏,用于自动创建工作簿,实现了排版布局.冻结表头.条件格式.自动求和.单元格保护等功能. 分别创建了 4 个工作簿 1-12 ...
- pywin32\win32com 运行 Word、Excel VBA宏最简单的方法
简单粗暴:doc.Application.Run('批处理VBA') 高手应该看懂了,看不懂的,看下面代码: from win32com.client import Dispatch# 打开Word软 ...
- jacob调用Excel VBA宏
1,下载jacob https://github.com/freemansoft/jacob-project 下载最新版即可 2,本地配置 下载完成后,会得到这几个文件 jacob.jar可引入工程供 ...
- zemax 宏怎么编写数组_编写Excel VBA程序的10个技巧
学习Excel技术,关注微信公众号: excelperfect 学会一些有趣的技巧或想法,能够有效地提高ExcelVBA编程水平.下面是chandoo.org总结的编写Excel VBA程序的10个技 ...
- Excel中的VBA宏:每次划款前从总名册中同步用户数据到当前页
2019独角兽企业重金招聘Python工程师标准>>> 我使用的Office为 Microsoft Office Professional Plus 2010,我使用的Excel 版 ...
- python打开excel执行vba代码_python可以添加,运行和删除VBA宏以实现excel而无需中间保存步骤吗?...
我有一个长期运行的python管道,它生成一个pandas数据帧.简而言之,我想:在excel中显示pandas数据帧 添加并运行VBA宏 删除VBA宏并将(新格式化的)输出保存为 .xslx 挑战在 ...
- Excel VBA(宏):添加宏
写在前面:1.编写宏,打开VBA,双击ThisWorkbook对当前工作薄进行编写宏:双击Sheet1,对整个sheet编写宏: 或者创建模块,在模块里,编写.调试代码. 打开VBA的方法见第一讲,结 ...
- c调用python gensim包_Jupyter Notebooks嵌入Excel并使用Python替代VBA宏
以前,Excel和Python Jupyter Notebook之间我们只能选择一个.但是现在随着PyXLL-Jupyter软件包的推出,可以将两者一起使用. 在本文中,我将向你展示如何设置在Exce ...
- python 调用vba 参数 保存表格_Jupyter Notebooks嵌入Excel并使用Python替代VBA宏
以前,Excel和Python Jupyter Notebook之间我们只能选择一个. 但是现在随着PyXLL-Jupyter软件包的推出,可以将两者一起使用. 在本文中,我将向你展示如何设置在Exc ...
- python可以嵌在vba中吗_Jupyter Notebooks嵌入Excel并使用Python替代VBA宏
以前,Excel和Python Jupyter Notebook之间我们只能选择一个. 但是现在随着PyXLL-Jupyter软件包的推出,可以将两者一起使用. 在本文中,我将向你展示如何设置在Exc ...
最新文章
- 磁盘格式化、磁盘挂载、手动增加swap空间
- yolov5训练自己的数据
- 关于Android加载的优化
- Java更改中文_Java中文编程开发,让Java编写更改复杂
- Vlan中Trunk接口配置
- java基础学习笔记(一)
- Jmeter性能测试工具Timer定时器详解
- 【AI视野·今日CV 计算机视觉论文速览 第153期】Fri, 16 Aug 2019
- 第一届LCI workshop @ ICCV 2019, 欢迎投稿
- Swift - as、as!、as?三种类型转换操作使用一览
- 神经网络与深度学习第4章:前馈神经网络 阅读提问
- Dev-Cpp 切换界面语言中文
- vue官网中文文档下载,vue官网最新版本下载
- 2021年最新版Git一天入门教程
- csrf 功能 及 csrf装饰器使用
- URL ASCII编码解码
- 阿里云视频点播Demo
- OpenAI:ChatGPT 自动写代码功能测试
- Winsock协议目录
- Spring Data JPA 实战
热门文章
- java源程序文件扩展名_JAVA源代码的扩展名为( )
- 移动通信发展史及原理学习
- SQL Server 2005安装时提示“服务无法启动”
- Windows右键菜单设置与应用技巧
- 在Android上使用AutoNavi Map API开发自己的地图应用程序
- 网页三剑客8免费下载加序列号
- 汇编语言程序设计实验三
- 【Software】动软代码生成器
- android刷机工具 原理,Android 设备刷机教程
- linux控制风扇转速的命令,Cputroller:一款Linux下查看调节CPU的策略、风扇转速的工具...