隔行插行,用倒排,很容易。
但发现这段代码,虽然达不到想要的结果,但是不报错,奇怪。应该是错的呀
Sub aa4()
Dim j As IntegerDim m As Integer
m = Sheets(1).[A65536].End(xlUp).Row For i = 1 To m Range("A" & i).EntireRow.Insert m = Sheets(1).[A65536].End(xlUp).Row NextEnd Sub按道理,由于m一直增加,这个表应该一直循环到死机为止,可是很正常,没有一点问题。
比如说当初始单元格为3行时,它只插入3行。是什么在控制它呢?
哦,我说错了,你的for内部虽然有一个求m的,这个m也跟着变化
但是for一旦开始,起始位置就会确定下来
这样你m再改变是不会对for有影响的
除非你换成do while的用法或许会死循环
使用道具 举报
你的m值只求了一次,也就是说你插入新行之后m值不变
而你用了for i=1 to m
所以固定插入m次后就停止运行了.
m值在FOR循环内重新赋值,对i没有影响。
可以这样:
m = Sheets(1).[A65536].End(xlUp).Row For i = 1 To m * 2 Step 2 Range("A" & i).EntireRow.Insert NextEnd Sub
===================
看错题意
展翅是老线,最佳给小线吧
本版积分规则 发表回复 回帖后跳转到最后一页
小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )
GMT+8, 2024-5-28 06:45 , Processed in 0.212841 second(s), 9 queries , Gzip On, Yac On.
Powered by Discuz! X3.4
Copyright © 2001-2020, Tencent Cloud.