什么是VBA
VBA
VBA是Visual Basic for Application 的简写。
VBA是Visual Basic的一种宏语言。
VBA是EXCEL中执行自动化任务的编程语言。
什么是宏
啥是宏呀?咱们好像在哪儿听说过,在游戏中听过,魔兽世界里面或者其他网络游戏中听说过。一个宏就是一连串的动作的组合,只要执行这个宏就能自动的执行在宏里面定义好的一连串动作。简化操作,实现自动化的这么个工具。在EXCEL中也有这个工具。
怎么从EXCEL调出宏
以Excel2016为例
点击"文件" --> "选项" ,弹出如下的界面,点击左侧的“自定义功能区”,再点击右侧的“开发工具”上打钩,最后点击确定。
这样Excel的菜单栏中就出现“开发工具”选项卡了,选项卡中有很多按钮了。
这里有一些按钮就与宏有关啦
录制宏就是自己录制一段动作,而宏这个按钮就可以调用和调试录制好的宏和自己编辑的宏。
怎么录制宏
我们准备一个Excel表格,大致是这样的。
大家能看到这是一个工资单,不知道大家看到过那种一小条一小条的工资单,像这样。
那么您有没有想过如何制作这样的工资单呢?用页眉么?好像不太好,不见得一张A4纸只打一张工资单吧?
那么只有在每行数据之上复制表头了,像这样。
然后打印出来,2行2行裁剪就好啦。
看来这个法子可行,可是如果有1000个员工,难道要复制粘贴1000遍表头吗?这种重复工作恰好是VBA和宏能大展身手的地方呀。
我们来录制一个复制表头再粘贴的宏,然后执行这个宏,执行一次就自动复制粘贴一次,这样就快一些了。我们来试试吧。
下面我们演示如何录制宏
1. 点击"开发工具"中的"使用相对引用",保持这个按钮有点暗灰色,表示选中状态
2. 点击"开发工具"中的"录制宏",点这个就表示开始录像啦。
弹出这样的对话框
我们在快捷键这里定义一个快捷键,这里我们把ctrl+m 作为调用这个宏的快捷键,也就是说以后想调用这个宏,可以直接在键盘上使用ctrl+m就可以了。其他参数我们都用默认值,最后点确定按钮。
3. 选中第一行,也就是工资表的表头,再点击右键,选择复制。
4. 选择第3行,即第2条工资记录所在行,单击鼠标右键。选择"插入复制单元格"
5. 选中A3单元格,再点击"停止录制"
这样录制宏就完成了。
这个宏定义了快捷键,可以方便的用快捷键或者工具栏的按钮来调用这个宏。这个宏就代替了复制表头,粘贴表头的一系列动作。
怎么调用宏
如果要调用怎么办呢,在这里最简单的就用刚才我们设置的这个宏的快捷键ctrl+m
我们来演示一下,首先选中A3单元格,再键盘按下ctrl+m。我们会发现按下一次ctrl+m 就复制了一行表头。非常神奇对不对。
也可以点击这里的按钮
弹出这样的对话框
选中刚才录制的宏名,再点击“执行”按钮。
关于宏的思考:
如果咱们公司有1000人,难道要点1000次么?因此,宏只能做一些简单的,在excel界面上能使用的操作,而复杂的操作,如条件判断,循环,打开对象等等复杂的操作就做不到了。
此外我们还有个发现,使用宏操作的数据不能通过undo返回。同样的用VBA产生的操作也不行。
录制的宏能修改么?
录制的宏能修改的。在这里能修改弹出一个很大的新界面。如下图所示:
这就是VBE--Visual Basic Editor环境。代码就在“模块”中。双击"模块1"就能看到这个宏的代码。
Sub 宏5()'' 宏5 宏'' 快捷键: Ctrl+k'Dim i As IntegerFor i = 1 To 9 ActiveCell.Range("A1:G1").Select Selection.Copy ActiveCell.Offset(2, 0).Range("A1").Select Selection.Insert Shift:=xlDown ActiveCell.Select NextEnd Sub
这里我修改了一下,加了For...Next循环,这样如果有1000人,我也不用点快捷键1000次了,直接循环搞定。以后我会教大家怎么使用循环。
下一次我们介绍一下VBE环境。大家要继续关注哦。