二、for循环

for函数:循环

1.生成工资条,回复工资表

下图为某单位员工的工资表,我们需要把它变成工资条的形式

1.png
1.1 录制一个隔行插入宏

首先我们作为一个初学者,什么都不懂,所以我们首先需要录制一个宏:

1.1.1 选中第一行(标题行),我们首先切换到开发工具栏中,勾选录制宏下面的“使用相对引用”,然后再点击录制宏。

2.png

1.1.2 复制标题行数据,到第三行插入复制单元格。

3.png

1.1.3 停止录制宏,执行刚录制的宏文件,测试宏文件是否可以使用,是否达到预期效果(隔行插入的效果)。

1.2 使用for循环生成工资条
Sub gzt()

Dim i As Integer ‘定义i为整数型’

Rows("1:1").Select ‘当程序执行时首先选中第一行(这句代码一开始是没有的,需要录制一个选定第一行的宏进行获取),因为是相对引用,如果没有这句,程序会从你选定的行开始向下执行’

For i = 1 To 10 ‘循环10次’

Selection.Copy ‘复制选中行’

ActiveCell.Offset(2, 0).Rows("1:1").EntireRow.Select ‘与选中行隔行’

Selection.Insert Shift:=xlDown ‘插入复制单元格’

Next ‘for循环结束’

End Sub

效果:

4.png
1.3 录制一个隔行删除宏

因为我们什么操作代码都不知道,所以和生成工资条一样,我们需要录制一个宏。

1.3.1 勾选使用相对引用,选中第三行,开始录制宏

5.png

1.3.2 删除选中行,选中下一个标题行,选中即可,停止录制。

6.png

1.3.3 测试刚才录制的宏是否有效果。

1.4 回复工资表程序代码
Sub gzb()

Dim i As Integer

Rows("3:3").Select ‘选中第三行,没必要录制宏复制黏贴了,把工资条里面的选中行代码拿过来改动一下就可以了,这句代码也很好理解,rows(“3:3”)代表第三行,select 选中’

For i = 1 To 10

Selection.Delete Shift:=xlUp ‘选中删除’

ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.Select ‘和工资条里面的代码对比一下就知道,这个指下移一行选中,工资条里则是下移两行选中’

Next

End Sub

效果:

7.gif

插入按钮这玩意儿容易,就不赘述了,注意把按钮属性改为大小位置均固定。


8
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一.逻辑运算符(唯一) &&,短路与||,短路或!,非逻辑与&&运算优先级高于逻辑或|| 二.for循环嵌套 1....
    宋song一阅读 321评论 0 0
  • 1.1 VBA是什么 直到90年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程序,人们不得...
    浮浮尘尘阅读 21,856评论 6 49
  • 也许你已经在Excel中完成过上百张财务报表,也许你已利用Excel函数实现过上千次的复杂运算,也许你认为Exce...
    jbmqcqnuco阅读 499评论 0 0
  • 也许你已经做了上千张表格,也许你用函数算了上千复杂的运算。也许认为excel不过如此,今天25招秘技希望可以帮到大...
    南屋阿米佛头阅读 3,752评论 0 51
  • 一、误删资料恢复 一不小心删错了,还把回收站清空了,咋办啊?只要三步,你就能找回你删掉并清空回收站的东西。 步骤:...
    八爷君阅读 1,563评论 2 7