如何为工作簿每行生成10条带0-9编号的重复数据行?
Excel每行生成10条带0-9编号的重复行解决方案
方法一:VBA宏快速实现
适合批量处理大量数据,操作直接高效:
- 打开目标Excel文件,按
Alt + F11调出VBA编辑器 - 右键左侧工程面板里的当前工作簿名称 → 插入 → 模块
- 粘贴以下代码,按
F5运行(或回到Excel后给宏添加按钮方便重复使用)
Sub DuplicateRowsWithNumber() Dim ws As Worksheet Dim lastRow As Long, i As Long, j As Long Dim targetRow As Long Set ws = ActiveSheet ' 可改为指定工作表,比如Set ws = ThisWorkbook.Sheets("Sheet1") lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row targetRow = lastRow + 1 ' 从原始数据末尾开始插入 ' 从最后一行往前遍历,避免插入行影响行数统计 For i = lastRow To 2 Step -1 ' 假设第一行是表头,从第2行开始处理 ' 复制当前行10次,添加0-9编号 For j = 0 To 9 ws.Rows(i).Copy ws.Rows(targetRow) ' 在指定列(比如最后一列的下一列)添加编号,这里用列Z为例,可自行修改 ws.Cells(targetRow, "Z").Value = j targetRow = targetRow + 1 Next j Next i End Sub
注意:代码中默认第一行是表头,若你的数据无表头,把
For i = lastRow To 2 Step -1改成For i = lastRow To 1 Step -1;编号列默认是Z列,可修改ws.Cells(targetRow, "Z")中的字母为你需要的列。
方法二:Power Query可视化操作(无需代码)
适合不熟悉VBA的用户,操作全程可视化:
- 选中你的原始数据区域,点击「数据」选项卡 → 「从表格/区域」(勾选“我的表格有标题”)
- 在Power Query编辑器中,点击「添加列」→「自定义列」,输入公式
{0..9},将新列命名为「编号列表」 - 点击「编号列表」列右侧的展开图标(两个箭头),选择「展开到新行」
- 此时每行数据已自动重复10次,且对应0-9的编号,最后点击「关闭并上载」,结果会导入到新工作表中
内容的提问来源于stack exchange,提问作者Dale H Jordan
相关产品推荐
相关产品推荐

