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 for Applications 窗口。

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 按鈕,並且在所選行下方插入了三個新的複制行,請參見屏幕截圖:


輕鬆地根據特定數字多次復制並插入每一行

通常,除了手動處理複製和插入操作外,沒有很好的方法可以多次復制和插入行。 但是,隨著 Excel的Kutools's 根據單元格值複製行/列 功能,您可以輕鬆解決此問題。 點擊下載Kutools for Excel!

Excel的Kutools:具有300多個方便的Excel加載項,可以在60天內免費試用,沒有任何限制。 立即下載並免費試用!


使用VBA代碼多次復制並插入每一行

要在一個範圍內多次復制每一行,您可以應用以下VBA代碼,請執行以下操作:

1。 按住 ALT + F11 鍵,然後打開 Microsoft Visual Basic for Applications 窗口。

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代碼,或者擔心該代碼會使您的數據崩潰。 在這裡,我將介紹一個有用的功能, Excel的Kutools's 根據單元格值複製行/列,使用此實用程序,您可以根據指定的編號快速復制並插入行。

提示:要應用此 根據單元格值複製行/列 功能,首先,您應該下載 Excel的Kutools,然後快速輕鬆地應用該功能。

安裝後 Excel的Kutools,請這樣做:

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 = True
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 "你沒有指定範圍!"
退出小組

其他
範圍 (ActiveCell.Offset(1, 0), ActiveCell.Offset(Rng, 0)).Select
選擇.EntireRow.Insert Shift:=xlDown
如果結束

END SUB
網站主持人對此評論進行了最小化
愛它! 它每次都有效! 非常感謝你做的這些 :)
網站主持人對此評論進行了最小化
如何為列執行此操作?
網站主持人對此評論進行了最小化
我怎樣才能為列做到這一點?
網站主持人對此評論進行了最小化
如何使用 VB 對選定的單元格執行相同的操作,


我需要在同一張工作表中重複幾個選定的單元格(行和列)x 次,並以與以下相同的順序:

line1
line2
line3

line1
line2
line3
網站主持人對此評論進行了最小化
嗨,這很好用,只有我需要復制 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保護