一、引言
我们一般把宏和VBA一起称呼,其实,宏就是一组VBA代码的简称。
不管VBA代码是录制的还是收工编写的,都可以称为宏,二者本质上一样的。
但是很多人会把手工录制的VBA代码称之为宏,并把录制的过程叫做录制宏。
我们可以先了解宏,知道宏的简单应用,然后为深入学习VBA的知识打下基础。
录制宏是学习VBA的最好途径之一,换言之,录制宏可以说是进入VBA世界的一个窗口。因为录制宏能完成VBA程序中的大部分代码,只要稍作修改录制宏中的代码,就可以成为一个合格的程序。
另外,录制宏可以提供词典的作用,如果你忘记某个对象的单词,某个对象的属性或是方法时,就可以录制宏。
很多问题使用录制宏就可以实现自动化,录制宏如同excel一个内置功能一样简单。
即使不学习VBA的知识,学会录制宏也能让你工作效率大幅度的提升。
但我们还是先了解下
二、什么是VBA?
VBA是office开发的一种程序语言。VBA是对office里已有的命令进行改装或是重新组合。
VBA可以应用在很多软件中,比如:excel,word,powerpoint,access,CAD等。
我们目前主要是讲寄宿在excel中的VBA,或者说是以Excel为平台的一种编程开发语言。因此,后续将把Excel VBA 简称为VBA。
VBA的知识在每个软件中都是通用的,不同平台中的VBA的区别只是处理的对象不同,其余的语法是一样的。
VBA主要应用于个人或是企业的小的办公自动化软件的开发,比如常见的开发财务软件、人事软件、计费软件等,运用VBA可以真正实现办公自动化。
VBA的作用:
优化工作流程,快速处理工作。比如,只要输入原始数据,就能自动生成最终的报表,中间的过程:整理、分析、排版美化表格等都是自动化完成的。
VBA是在Excel内置已有的功能命令进行的扩展和开发,尤其是Excel的内置函数。Excel VBA被很多人成为Excel 的二次开发。
快捷键在某种意义上也可以称之为宏,因为其可以产生类似宏的效果,快捷键可以节约很多步的常规操作。
对于定位数值、定位函数公式单元格的操作,或者简单的加删除线操作如果采用正常的、循规蹈矩的操作,往往要花很多步,对于这种情况,就可以利用宏这种工具来简化,把这些多部操作录制一个宏,然后重复执行录制的宏,这样可以让工作效率得到大大的提升。
三、什么是宏?
宏就是自动化执行某种操作的命令集合,其本质就是VBA代码,也就是一段定义好的操作。
用户只要点击一个命令或者一个按钮,就可以执行这些命令或是执行这些操作。意味着,以往需要多步完成的步骤,现在可以一键完成。
总之,宏最大的优点:
可以使频繁、繁琐的操作实现自动化,从而节约我们的时间,提高工作效率,减少失误。
四、宏安全性
Excel2003及之前文件格式:xls
Excel2007及之后文件格式:xlsx
xlsx是基于一种叫XML的压缩文件的格式,这种格式文件占用空间更小,更安全,而且非常有利于专业人员对office产品的开发。
文件格式 | 是否可以存储宏 |
---|---|
xls | 可以 |
xlsx | 不可以 |
xlsm | 可以 |
‘xlsm’中的‘m’是macro,即英文宏的首字母。
因此,我们可以通过文件名的后缀,就可以辨别其工作簿是否包含宏。
带有宏的文件慎重打开,因为历史上存在通过宏传播计算机病毒的先例。
当然,excel会默认禁用所有的宏,并且发出通知,所有一般打开带宏的文件时,会弹出警告通知。
五、开始录制一个新宏
四个步骤:
打开宏命令
通过文件选项卡设置在前台工具显示开发工具的选项卡
开发工具中的命令都是对Excel进行二次开发和扩展的,之后的学习中我们将经常使用这个功能区的命令。
注意:在录制宏的时候,宏记录器只会记录有效的操作。
- 如果要对局部区域录制宏,注意一定要先选中区域,然后再录制。
六、宏代码
视图选项卡-->宏按钮-->查看宏(也可以利用快捷键‘alt+F11’进入宏代码窗口)
我们之前录制的宏就存放在模块中
模块本质就是过程、单元的意思。
把一个项目分成多个单元来完成,这些单元在不同的程序设计语言里面有很多不同的叫法,比如叫模块、过程、例程、子程序、函数、方法。虽然叫法不同,但是它们本质是一个意思。由于程序过大,所以才会人为的分单元去完成。这些不同的名称就是对单元的不同称呼而已,本质是一样的。
以sub...end sub 来区分不同宏和不同过程。
在代码前加英文状态下的单引号表示注释,宏就是一组VBA代码,所以说宏代码,就相当于说 VBA代码。
在录制宏的操作中,有些误操作,或是一些没有用的操作也会录制下来,我们可以在录制后把这些误操作或是没有用的操作,在宏代码的窗口中删除掉。
七、VBE
宏代码窗口也称为VBE,VBE是Visual Basic Editor简称,相当于VBA的后台开发环境,是VBA代码的存放容器,VBE有很多组件。
八、宏保存格式
如果在以xlsx结尾的文件中录制宏后进行保存,会弹出如下对话框:
点‘否’进行保存
后续可以再深入了解。