Excel使用VBA代码,每隔m行插入n行(可以是n行空白行,也可以是n行经复制的固定内容行)

对于这个需求,本来是想用openpyxl,毕竟更熟悉Python,上网搜了之后,发现有更简单的方法VBA
例如要在Excel表进行处理,每隔100行就要插入8行一样的固定的内容

下面展示一些 VBA代码

// VBA 代码
Sub 宏1()
    
    i = 101				'第一次复制的位置在101行
    Do While i < ActiveSheet.UsedRange.Rows.Count + 1
        Sheets("Sheet1").Select				'选择工作表sheet1
        Range("A1:R8").Select				'选择sheet1中需要复制的区域,这里选择了8行
        Selection.Copy							'执行copy操作
        
        Sheets("Sheet2").Select				'选择工作表sheet2,要在此表中进行隔行插入
        Range("A" & i).Select					'选择开始黏贴的单元格,选一个单元格即可,经过循环,会依次选择A101,A209,A317......
        Selection.EntireRow.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove				'插入一行空白行,不插入的话,源内容会被覆盖,不用插入8行,一行即可
        Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False				'执行黏贴操作
        i = i + 108							'执行一次循环,插入8行,行数+108
    Loop

End Sub

请注意:复制操作要放到循环里面,否则这会执行一次循环就报错,因为工作表有保护,一次复制黏贴后会清空粘贴板的内容,如果你想放循环外面的话,想办法把工作表保护去掉应该就行了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值