VIP学员的问题,左边是从系统导出来的,现在希望每个房间都增加一行标题。原始数据有几千行,除了用复制,粘贴标题行,重复无数次之外,有没更快捷的方法?重复一个动作几千次,手估计要废了。其实,在Excel里面有一个循环语句,可以代替手工操作,只要告诉她重复多少次即可。 先跟卢子一起来完成第一次操作,复制标题,插入到小计下一行。这个操作是需要记录下来,专业点叫录制宏。点开发工具,录制宏,复制第1行,选择第4行,右键,插入复制的单元格,停止录制。 点开发工具,VB,模块1,就可以看到刚刚录制的宏。
直接录制的代码,其实可以进行简化。
Rows("1:1").Select Selection.Copy
可以简化成Rows("1:1").Copy,也就是复制第1行。 Rows("4:4").Select Range("B4").Activate Selection.Insert Shift:=xlDown
可以简化成Range("A4").Insert Shift:=xlDown,也就是在A4插入刚刚复制的标题。 重点来了Range("A4")这个是变动的,需要判断上一行有小计2字,就在下一行插入标题。也就是需要进行一次判断,在VBA里面也有IF。
If Range("A" & I) = "小计" Then Range("A" & I + 1).Insert Shift:=xlDown I这里是变量,从1到17,这里就需要循环语句For Next,有一个注意点因为插入标题后,行数会改变,必须先从17行开始到1行往上判断,步长为-1。最终代码出来了。If Range("A" & i) = "小计" Then Range("A" & i + 1).Insert Shift:=xlDown 录制宏得到的是傻瓜式的代码,从中获取关键的代码,再修改才能得到智能的代码。
|