Note: The other languages of the website are Google-translated. Back to English

如何在Excel中多次复制和插入行或重复x次复制行?

在日常工作中,您是否曾经尝试过复制一行或每一行,然后在工作表中当前数据行的下方多次插入? 例如,我有一个单元格区域,现在,我想复制每一行并将它们粘贴3次到下一行,如下图所示。 您如何在Excel中处理这项工作?


使用VBA代码多次复制并插入特定行

如果您只想重复x特定的一行x,下面的VBA代码可能会帮助您,请按照下列步骤操作:

1。 指定要复制并插入多次的行,然后按住 ALT + F11 键,然后打开 Microsoft Visual Basic应用程序 窗口。

2。 点击 插页 > 模块,然后将以下代码粘贴到 模块 窗口。

VBA代码:多次复制一个特定行:

Sub test()
'Updateby Extendoffice
    Dim xCount As Integer
LableNumber:
    xCount = Application.InputBox("Number of Rows", "Kutools for Excel", , , , , , 1)
    If xCount < 1 Then
        MsgBox "the entered number of rows is error, please enter again", vbInformation, "Kutools for Excel"
        GoTo LableNumber
    End If
    ActiveCell.EntireRow.Copy
    Range(ActiveCell.Offset(1, 0), ActiveCell.Offset(xCount, 0)).EntireRow.Insert Shift:=xlDown
    Application.CutCopyMode = False
End Sub

3。 粘贴代码后,请按 F5 键运行此代码,并弹出一个提示框,提醒您输入要重复的次数,请参见屏幕截图:

4。 然后点击 OK 按钮,并且在所选行下方插入了三个新的复制行,请参见屏幕截图:


轻松地根据特定数字多次复制并插入每一行

通常,除了手动处理复制和插入操作外,没有很好的方法可以多次复制和插入行。 但是,随着 Kutools for Excel's 根据单元格值复制行/列 功能,您可以轻松解决此问题。 点击下载Kutools for Excel!

Kutools for Excel:具有300多个方便的Excel加载项,可以在60天内免费试用,没有任何限制。 立即下载并免费试用!


使用VBA代码多次复制并插入每一行

要在一个范围内多次复制每一行,您可以应用以下VBA代码,请执行以下操作:

1。 按住 ALT + F11 键,然后打开 Microsoft Visual Basic应用程序 窗口。

2。 点击 插页 > 模块,然后将以下代码粘贴到 模块 窗口。

VBA代码:每行重复多次:

Sub insertrows()
'Updateby Extendoffice
Dim I As Long
Dim xCount As Integer
LableNumber:
xCount = Application.InputBox("Number of Rows", "Kutools for Excel", , , , , , 1)
If xCount < 1 Then
MsgBox "the entered number of rows is error ,please enter again", vbInformation, "Kutools for Excel"
GoTo LableNumber
End If
For I = Range("A" & Rows.CountLarge).End(xlUp).Row To 2 Step -1
Rows(I).Copy
Rows(I).Resize(xCount).Insert
Next
Application.CutCopyMode = False
End Sub

3。 然后按 F5 键以运行此代码,并弹出一个提示框,提醒您输入要为每个记录重复的次数,请参见屏幕截图:

4。 然后点击 OK,并且每行已复制并插入到活动行下方3次,请参见屏幕截图:

备注:在上面的代码中, A 表示数据范围从A列开始(如果您的数据从A列开始) K, 请更换 AK 根据您的需要。


具有令人敬畏的功能,可根据特定数字多次复制并插入每一行

也许您不熟悉VBA代码,或者担心该代码会使您的数据崩溃。 在这里,我将介绍一个有用的功能, Kutools for Excel's 根据单元格值复制行/列,使用此实用程序,您可以根据指定的编号快速复制并插入行。

提示:申请这个 根据单元格值复制行/列 功能,首先,您应该下载 Kutools for Excel,然后快速轻松地应用该功能。

安装后 Kutools for Excel,请这样做:

1。 在数据旁边的单元格列表中输入要复制行的重复数字,请参见屏幕截图:

2。 点击 库工具 > 插页 > 根据单元格值复制行/列,请参见屏幕截图:

3。 在 复制并插入行和列 对话框中选择 复制并插入行 在选项 房屋类型 部分,然后选择要复制的数据范围,然后指定重复时间以复制行,请参见屏幕截图:

4。 然后,点击 Ok or 使用 按钮,您将根据需要获得以下结果:

点击下载Kutools for Excel并立即免费试用!


最佳办公效率工具

Kutools for Excel解决了您的大多数问题,并使您的生产率提高了80%

  • 重用: 快速插入 复杂的公式,图表 以及您以前使用过的任何东西; 加密单元 带密码 创建邮件列表 并发送电子邮件...
  • 超级公式栏 (轻松编辑多行文本和公式); 阅读版式 (轻松读取和编辑大量单元格); 粘贴到过滤范围...
  • 合并单元格/行/列 不会丢失数据; 拆分单元格内容; 合并重复的行/列...防止细胞重复; 比较范围...
  • 选择重复或唯一 行; 选择空白行 (所有单元格都是空的); 超级查找和模糊查找 在许多工作簿中; 随机选择...
  • 确切的副本 多个单元格,无需更改公式参考; 自动创建参考 到多张纸; 插入项目符号,复选框等...
  • 提取文字,添加文本,按位置删除, 删除空间; 创建和打印分页小计; 在单元格内容和注释之间转换...
  • 超级滤镜 (将过滤方案保存并应用于其他工作表); 高级排序 按月/周/日,频率及更多; 特殊过滤器 用粗体,斜体...
  • 结合工作簿和工作表; 根据关键列合并表; 将数据分割成多个工作表; 批量转换xls,xlsx和PDF...
  • 超过300种强大功能. 支持 Office / Excel 2007-2021 和 365。支持所有语言。 在您的企业或组织中轻松部署。 完整功能 30 天免费试用。 60 天退款保证。
kte选项卡201905

Office选项卡为Office带来了选项卡式界面,使您的工作更加轻松

  • 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
  • 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
  • 每天将您的工作效率提高50%,并减少数百次鼠标单击!
officetab底部
按评论排序
注释 (32)
还没有评分。 成为第一位评论!
该评论由网站上的主持人最小化
谢谢!
该评论由网站上的主持人最小化
真棒宏 - 为我节省了很多时间!
该评论由网站上的主持人最小化
真正的好宏伙伴!
该评论由网站上的主持人最小化
我想随机生成重复的行,

例如。 生成 20 到 80 之间的随机重复行。


以下将更新什么代码


子插入行()
'更新通过 Extendoffice 2016616
暗淡我只要
将 xCount 调暗为整数
标签号:
xCount = Application.InputBox("行数", "Kutools for Excel", , , , , , 1)
如果 xCount < 1 那么
MsgBox "输入的行数错误,请重新输入", vbInformation, "Kutools for Excel"
转到标签编号
结束如果
For I = Range("A" & Rows.CountLarge).End(xlUp).Row To 1 Step -1
行(I).复制
行(I).Resize(xCount).Insert
下一页
Application.CutCopyMode = False
END SUB
该评论由网站上的主持人最小化
我想根据参数复制行。 例如,我有一个名为会议持续时间的列。 如果该列大于 1,我想根据该数字复制会议 ID 行。 如果会议持续时间为 2 小时,则将会议 ID 复制两次。 如果会议时间为 3 小时,则重复 XNUMX 次。
半小时的增量可以舍入到小时。

MeetingID 开始时间 结束时间 会议持续时间
43117 上午 9:00 上午 11:00 上午 02:00
43580 上午 9:30 上午 11:00 上午 01:30
42699 上午 10:00 上午 11:30 上午 01:30
12345 01:00 下午 2:00 下午 01:00
该评论由网站上的主持人最小化
我也有同样的问题。 你找到解决办法了吗?
该评论由网站上的主持人最小化
嗨,大家好,
可能是以下 VBA 代码可以帮到您,请应用它:
子插入行()
暗淡我只要
将 xRg 调暗为范围
昏暗 xHour,xMin 一样长
出错时继续下一步
Application.ScreenUpdating = False
For I = Range("D" & Rows.CountLarge).End(xlUp).Row To 1 Step -1
x小时 = 0
设置 xRg = Range("D" & I)
xHour = 小时(xRg.Value) + 1
xMin = 分钟(xRg.Value)
如果 xMin < 30 那么 xHour = xHour - 1
行(I).复制
行(I).Resize(xHour).Insert
下一页
Application.ScreenUpdating =真
Application.CutCopyMode = False
END SUB

请尝试一下。 希望它可以帮助你!
该评论由网站上的主持人最小化
我过去使用过这个宏,直到最近它一直有效。 任何见解为什么即使在使用多行宏时它也只会复制第一行? 我已删除所有过滤器/冻结窗格。
该评论由网站上的主持人最小化
嗨,我如何更改代码以包含以下内容

1.根据天数重复
2. 将 EOM 列从月底更改为每日日期
该评论由网站上的主持人最小化
真的谢谢你的支持!!!!
该评论由网站上的主持人最小化
喜欢代码! 如何设置开始范围以跳过第一行(列标题)并从第 2 行开始?
该评论由网站上的主持人最小化
嗨,德文,
要跳过第一个标题行,请应用以下 VBA 代码:

子插入行()
暗淡我只要
将 xCount 调暗为整数
标签号:
xCount = Application.InputBox("行数", "Kutools for Excel", , , , , , 1)
如果 xCount < 1 那么
MsgBox "输入的行数错误,请重新输入", vbInformation, "Kutools for Excel"
转到标签编号
结束如果
For I = Range("A" & Rows.CountLarge).End(xlUp).Row To 2 Step -1
行(I).复制
行(I).Resize(xCount).Insert
下一页
Application.CutCopyMode = False
END SUB

请尝试一下,希望对您有所帮助!
该评论由网站上的主持人最小化
您好,我需要帮助,这就是我的表格的外观,例如,当我在第一个表格的末尾添加 2 行时,我希望 vba 帮助我为下面的表格做同样的事情(添加 1 行在表的末尾)。 所以我的工作是,只需要在第一个表中添加行,下面的表都会根据第一个表中的行数自动生成行。 这是我现在用来为第一个表添加行的编码。 我希望有人可以为我解决这个问题,thx.Sub InsertNumRows()

ActiveCell.EntireRow.Copy

只要变暗

Application.DisplayAlerts = False
出错时继续下一步
Rng = InputBox("请输入所需的行数。")
出错时转到 0
Application.DisplayAlerts = True

如果 Rng = 0 那么
MsgBox "你没有指定范围!"
退出小组

其他
Range(ActiveCell.Offset(1, 0), ActiveCell.Offset(Rng, 0)).选择
选择.EntireRow.Insert Shift:=xlDown
结束如果

END SUB
该评论由网站上的主持人最小化
爱它! 它每次都有效! 非常感谢你做的这些 :)
该评论由网站上的主持人最小化
如何为列执行此操作?
该评论由网站上的主持人最小化
我怎样才能为列做到这一点?
该评论由网站上的主持人最小化
如何使用 VB 对选定的单元格执行相同的操作,


我需要在同一张工作表中重复几个选定的单元格(行和列)x 次,并以与以下相同的顺序:

1号线
2号线
3号线

1号线
2号线
3号线
该评论由网站上的主持人最小化
嗨,这很好用,只有我需要复制 N 次的两行。 您能否调整代码,以便当我选择两行时,它将这两行向下复制 N 次? 感谢您的帮助
该评论由网站上的主持人最小化
你好,萨尔,
如果您只需要多次向下复制两行,您只需要使用本文中的VBA代码1,应用代码两次即可解决您的问题。 请尝试,希望对您有所帮助!
该评论由网站上的主持人最小化
使用 VBA 代码多次复制和插入每一行

在 VBA 代码中如何选择起始行
该评论由网站上的主持人最小化
No funciona con Windows 2019,deseo usar la función en mención pero simplemente no hace absolutamente nada
该评论由网站上的主持人最小化
大家好..提前感谢您的帮助!

在使用过滤器之前,多次复制特定行的 VBA 代码可以完美运行。 我想知道是否有人可以帮助我解决这个问题。 即使您过滤了一些值,我也需要一个可以工作的代码。 我正在使用按位置排序的大量数据。 代码部分工作,当我应用过滤器时,它粘贴了所需的行数,但没有数据或格式。
该评论由网站上的主持人最小化
您好,是否可以为每一行使用不同的大小(值)? 我正在尝试使用矢量,但它不起作用。
例如 :
行(I).Resize(xCount(y)).Insert

从表中读取保存在 xCount(y) 中的值。
该评论由网站上的主持人最小化
你好,格斯,
可能下面的文章可以帮助你,请检查它:
https://www.extendoffice.com/documents/excel/4054-excel-duplicate-rows-based-on-cell-value.html
该评论由网站上的主持人最小化
对于第二个 VBA 代码(VBA 代码:重复每一行多次),我不断收到运行时错误:1004
这里还没有评论
加载更多
留下你的意见
以访客身份发帖
×
评价此帖子:
0   产品特性
建议地点

关注我们

版权所有 © 2009 - extendoffice.com。 | 版权所有。 供电 ExtendOffice。 | 网站地图
Microsoft和Office徽标是Microsoft Corporation在美国和/或其他国家的商标或注册商标。
受Sectigo SSL保护