Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1693|回复: 3

[已解决]请问这个宏 为什么执行后,最后的一部分数据没有添加上空行呢,谢谢

[复制链接]
发表于 2017-8-4 12:47 | 显示全部楼层 |阅读模式
本帖最后由 tudigeming 于 2017-8-4 17:13 编辑

Sub 每隔8行插入一行()
Dim i
For i = 1 To ActiveSheet.Range("a65536").End(xlUp).Row
Rows(i & ":" & i + 0).Select
i = i + 8
Selection.Insert Shift:=xlDown
Next
End Sub

最佳答案
2017-8-4 13:10
本帖最后由 大灰狼1976 于 2017-8-4 13:11 编辑

插入或删除行列时,应该倒序。没有附件所以没有测试。
Dim i
For i = ActiveSheet.Range("a65536").End(xlUp).Row to 1 step -8
Rows(i & ":" & i + 0).Insert Shift:=xlDown
Next
End Sub


excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2017-8-4 13:10 | 显示全部楼层    本楼为最佳答案   
本帖最后由 大灰狼1976 于 2017-8-4 13:11 编辑

插入或删除行列时,应该倒序。没有附件所以没有测试。
Dim i
For i = ActiveSheet.Range("a65536").End(xlUp).Row to 1 step -8
Rows(i & ":" & i + 0).Insert Shift:=xlDown
Next
End Sub


评分

参与人数 1 +1 收起 理由
tudigeming + 1 来学习

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2017-8-4 13:54 | 显示全部楼层
大灰狼1976 发表于 2017-8-4 13:10
插入或删除行列时,应该倒序。没有附件所以没有测试。
Dim i
For i = ActiveSheet.Range("a65536").End(x ...

谢谢狼狼
不过我测试的不对
然后蒙的改了一下就对了
但是我还是不知道为什么要这么改
Dim i
For i = ActiveSheet.Range("a65536").End(xlUp).Row + 1 To 1 Step -8
Rows(i & ":" & i + 0).Insert Shift:=xlDown
Next
End Sub

回复

使用道具 举报

发表于 2017-8-4 13:57 | 显示全部楼层
这个取决于你需要插入的位置和插入的行数了。看了附件我才好判断。
但是既然运行结果是正确的,那就表示你修改正确。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-27 00:19 , Processed in 0.254475 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表