一、宏与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文档,找到宏,查看就可以发现隔行变色这个宏