VBA第一章,关于宏和for的基础操作2

上一篇文章已经介绍了什么是宏,什么是vba以及如何使用宏和vba,还介绍了for的基础用法。本篇文章我们通过另一个案例巩固一下,也会学习将执行宏的操作简化成点击一个按钮来执行

案例2

题目:

将工资表转换成工资条,在每一行员工工资记录上一行插入(姓名,工号等等)标题行。最后呈现出来就是一行标题行,一行工资记录。一行标题行,一行工资记录。

VBA第一章,关于宏和for的基础操作2

分析

    重复操作可用宏来执行,

目标:

    巩固宏的使用,巩固for的使用,掌握将执行宏的操作简化成一个按钮。

操作

    第一步:选中第一行标题行,点击开发工具-》录制宏,给宏起个名字,点击确定。点击使用相对引用(必须使用相对引用),ctrl+c复制第一行,然后往下两行,选中第三行,右键选择插入复制的单元格,点击停止录制。

VBA第一章,关于宏和for的基础操作2

VBA第一章,关于宏和for的基础操作2

第二步:使用宏,点击宏,弹出宏的弹框,选择要执行的宏,点击执行。观察是否可以成功,不成功要重新录制宏,成功的话就打开VBA,添加for循环让它自动执行多次。

操作:

点击visual Basic即可。如下图:

VBA第一章,关于宏和for的基础操作2

创建一个新的宏,sub gzt() end sub

将上面录制的宏操作代码复制到新建的宏gzt()里面,在宏操作代码外面加入for循环,如下图:

VBA第一章,关于宏和for的基础操作2

   

回到excel中,选中第一行,不选中宏找不到起始位置。点击宏,选择gzt,点击执行。就可以看到执行了10次宏的操作。结果如下图:

VBA第一章,关于宏和for的基础操作2

但是如果忘记选中第一行就会出现错误,那我们该如何实现自动从第一行开始呢?

其实方法很简单,我们只要录制一个选中第一行的宏,将选中第一行的代码复制到gzt()中即可

操作:

1、录制选中第一行的宏,代码如下图:

VBA第一章,关于宏和for的基础操作2

2、将选中第一行的代码复制到gzt()中,如下图:

VBA第一章,关于宏和for的基础操作2

3.返回excel,不用选中,直接点击宏,选择gzt().点击执行即可自动从第一行按顺序执行。

如果我们把这个宏给人事(hr)使用,她不会操作怎么办?

我们可以把宏转化为按钮,hr通过点击按钮执行就可以了,是不是非常方便呢!

操作:

       1、选择开发工具,点击插入,选择按钮(窗体控件)

VBA第一章,关于宏和for的基础操作2

2.选择按钮控件,鼠标就变成了一个十字,我们用十字拉一个长方形出来(注意不要太靠顶部),松手后会弹出一个宏的弹框,选择一个宏和该按钮关联起来。如下图:

VBA第一章,关于宏和for的基础操作2

3.点击确定,就出现一个叫按钮1的按钮,直接点击该按钮就可以执行

VBA第一章,关于宏和for的基础操作2

点击执行后还会有一个小问题,就是表格变化按钮大小也会变化,所以我们要设置一下按钮的属性

操作:

1、在按钮上右键,选择设置控件格式

VBA第一章,关于宏和for的基础操作2

2、在设置控件格式窗口中,选择属性,选择大小、位置均固定,点击确定。

VBA第一章,关于宏和for的基础操作2

3、右键选中按钮,可直接修改按钮名称,如下图:

VBA第一章,关于宏和for的基础操作2

如果在hr那边无法运行宏,要检查一下宏安全性中宏设置是否选择启用所有宏。

VBA第一章,关于宏和for的基础操作2

 

以上就是案例2 的全部内容了。以上内容为作者的学习笔记,有不明白的地方可联系作者,也可观看bilibili王佩丰老师的教学视频。

 

对数据分析或者vba有兴趣的朋友可以关注我的公众号,我会在公众号里面发学习笔记,全是干货。一起学习一起成长!

VBA第一章,关于宏和for的基础操作2