excel文件使用宏,每隔m行插入n行空白行

思路来源:请问如何在excel每间隔相同距离行插入空行?(链接:https://iask.sina.com.cn/b/1SXyoIH6kE5p.html)提问者:类似于5000行数据,每隔5行插入1行数据

我选了答案中的第一个答案:

Sub 宏1() 

For i = 1 To 5000 / 5 
    Range("A" & i * 5).Select 
    Selection.EntireRow.Insert 
Next 

End Sub 

我用的是Office Excel来建立宏的(WPS使用宏要安装插件,可以搜一下),视图->宏,为宏命名,点击创建。将复制上述代码粘贴过来稍作修改,将5000行改为更小的一个值,例如25行。

视图->宏


将上述宏的代码粘贴过来,点击运行按钮

看一下效果,随便建一个excel表,共27行。右图为点击运行按钮后的效果:分别在第5,10,15,20,15行处插入了空白行。

右图的效果是:每隔4行插入1行空白,也就是每5行最后1行是空白

       

            图1 原表                            图2 宏的运行结果

我想做的是每隔1行插入3行空白,例如先只针对前5行,每1行后面插入3行空白

Sub 宏1()
For i = 1 To 5
    
    Range("A" & 2 + (i - 1) * 4).Select
    Selection.EntireRow.Insert
    Selection.EntireRow.Insert
    Selection.EntireRow.Insert
Next

End Sub

   

图3 仍以图1为原表,运行后的结果

 

针对每隔m行插入n行,对于循环变量i,每次插入的位置为i*m+(i-1)*n+1

因为第i个循环中,空白插入的位置之前有i个m行(i*m个“数据行”,即原表中存在的行,不包括前i-1个循环中插入的空白行),和i-1个n行空白(因为已经进行了i-1个循环,每个循环插入n行空白)

代入m=1,n=3  化简为4*i - 2  ; 上述代码中的2 + (i - 1) * 4 也化简为4*i - 2

代入m=4,n=1  化简为5*i ;开头的代码处的算式也是5*i

如果有100行,i的范围取1到100/i


 

  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值