You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Excel中自动化复制指定行并执行插入复制单元格操作?

Excel VBA宏:重复复制指定行并插入到目标位置

刚好可以帮你实现这个重复执行的Excel自动化需求,下面是完全匹配你手动操作逻辑的VBA宏代码,而且可以放心重复运行:

Sub InsertCopiedRows()
    ' 锁定要复制的固定行范围(127到138行)
    Dim copyRows As Range
    Set copyRows = ThisWorkbook.ActiveSheet.Rows("127:138")
    
    ' 复制选中的行
    copyRows.Copy
    
    ' 指定插入的起始行位置(143行)
    Const insertStartRow As Long = 143
    
    ' 执行插入操作,将原有行向下推送,完全对应手动的"Insert Copied Cells"
    ThisWorkbook.ActiveSheet.Rows(insertStartRow).Insert Shift:=xlDown
    
    ' 清理剪贴板,避免Excel一直显示复制状态的虚线框(可选但推荐)
    Application.CutCopyMode = False
End Sub

代码说明

  • 指定固定工作表:如果你的操作需要锁定在某个特定工作表(而非当前活动表),可以把ThisWorkbook.ActiveSheet改成ThisWorkbook.Worksheets("你的工作表名称"),比如ThisWorkbook.Worksheets("数据列表")
  • 核心匹配手动操作:Rows(insertStartRow).Insert Shift:=xlDown就是模拟你右键选择"Insert Copied Cells"的动作,每次运行都会把127-138行的内容插入到当前143行位置,自动把原有内容向下推送,完美适配你重复生成列表的需求
  • 剪贴板优化:最后一行代码是可选的,但加上后能避免后续操作时不小心误粘贴复制内容

使用方法

  1. 打开目标Excel文件,按下Alt + F11打开VBA编辑器
  2. 右键点击左侧的工作簿名称,选择「插入」→「模块」
  3. 将上面的代码粘贴到新建的模块中
  4. 回到Excel界面,按下Alt + F8,选择InsertCopiedRows宏并执行;也可以给宏添加快速访问工具栏按钮,方便重复点击运行

内容的提问来源于stack exchange,提问作者Clinton Azzopardi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:19:46