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

通过VBA实现指定多列数据批量重复X次的技术需求

Excel VBA宏:批量重复多行多列数据(支持2000+行)

这个宏可实现选中的多行多列数据按指定次数重复,完全支持2000行以上的数据量,保留原列顺序。

宏代码

Sub RepeatRowsMultipleTimes()
    Dim sourceRange As Range
    Dim repeatTimes As Integer
    Dim targetRow As Long
    Dim i As Long, j As Long
    
    ' 选择需要重复的数据区域
    Set sourceRange = Application.InputBox("请选择要重复的数据区域(可包含多列)", Type:=8)
    repeatTimes = Application.InputBox("请输入每行需要重复的次数", Type:=1)
    
    ' 取消操作或输入无效时退出
    If sourceRange Is Nothing Or repeatTimes < 1 Then Exit Sub
    
    ' 目标起始行:源区域下方第一行
    targetRow = sourceRange.Row + sourceRange.Rows.Count
    
    ' 循环处理每一行
    For i = 1 To sourceRange.Rows.Count
        ' 重复指定次数
        For j = 1 To repeatTimes
            sourceRange.Rows(i).Copy Destination:=Cells(targetRow, sourceRange.Column)
            targetRow = targetRow + 1
        Next j
    Next i
    
    Application.CutCopyMode = False
    MsgBox "数据重复完成!"
End Sub

使用步骤

  • 打开目标Excel文件,按下Alt + F11打开VBA编辑器
  • 右键点击当前工作簿名称 → 插入 → 模块
  • 将上述代码粘贴到新模块的代码窗口中
  • 返回Excel界面,按下Alt + F8,选择RepeatRowsMultipleTimes并点击「执行」
  • 按提示选择要重复的数据区域(比如包含Store #、City、State、Zip的所有行),输入重复次数(如10)
  • 等待执行完成,重复数据会自动追加到源数据下方

注意事项

  • 支持任意列数,2000+行数据无压力(Excel 2007及以上版本支持1048576行,完全满足需求)
  • 若不需要重复表头,选择数据时跳过表头行即可
  • 执行前建议备份数据,避免误操作导致数据混乱

内容的提问来源于stack exchange,提问作者Annie Hall

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 19:17:26