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

如何在Excel中实现每行复制后粘贴至原行下方?

如何在Excel中将每一行复制并粘贴到该行下方?

刚好处理过类似的需求,给你两种实用方案,根据你的数据量选就行:

方案一:手动操作(适合小数据集)

如果你的行数不多(比如示例里的3行),用辅助列+排序的方法最快:

  • 新增一列(比如D列),在D1输入1,D2输入1,D3输入2,D4输入2,D5输入3,D6输入3(对应你要重复的每行编号)
  • 选中整个数据区域(包括新增的辅助列,比如A1:C6)
  • 点击顶部菜单栏的数据→排序,在对话框里选择以D列为关键字升序排序
  • 排序完成后,删掉辅助列就行,完美得到你要的每行重复一次的效果

方案二:VBA宏(适合大数据集)

如果你的表格有几百上千行,手动操作太麻烦,写个宏一键搞定:

  1. 打开你的Excel文件,按Alt+F11打开VBA编辑器
  2. 在左侧工程窗口右键点击你的工作簿,选择插入→模块
  3. 把下面的代码粘贴进去:
Sub DuplicateEachRow()
    Dim ws As Worksheet
    Dim lastRow As Long
    Dim i As Long
    
    ' 替换成你实际要操作的工作表名称,比如"Sheet2"
    Set ws = ThisWorkbook.Sheets("Sheet1")
    ' 获取数据最后一行的行号
    lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
    
    ' 从最后一行往上循环,避免插入行打乱行号顺序
    For i = lastRow To 1 Step -1
        ' 复制当前行
        ws.Rows(i).Copy
        ' 在当前行下方插入复制的内容
        ws.Rows(i + 1).Insert Shift:=xlDown
        ' 清空剪贴板,防止后续操作出错
        Application.CutCopyMode = False
    Next i
End Sub
  1. 回到Excel界面,按Alt+F8,选中DuplicateEachRow这个宏,点击运行,几秒钟就能完成所有行的重复操作

注意:如果你的表格有合并单元格,建议先取消合并再运行宏,否则可能出现排版错乱的问题。

内容的提问来源于stack exchange,提问作者Andre van Rensburg

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:36:45