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

如何在Excel中多次復制多張工作表?

有時,我們可能需要在工作簿中製作一個或多個指定工作表的副本。 這裡有一些快速的方法,可以幫助您輕鬆地在Excel中多次復制一個或多個工作表。


一次將多個工作表的一個副本複製到活動工作簿中,或使用“移動”或“複製”命令將其複製到另一個工作簿中

隨著 移動或複制 在Excel中使用命令,您可以一次將一個工作表,多個特定工作表或所有工作表的副本複製到活動工作簿或另一工作簿中。

1。 在要復制工作表的某個工作簿中,在“工作表”選項卡欄上選擇多個工作表。
備註:控股 CTRL 鍵,您可以選擇多個不相鄰的工作表標籤,並在“工作表標籤”欄上一一點擊它們; 保持 SHIFT 鍵,您可以通過單擊“工作表標籤”欄上的第一個工作表標籤和最後一個工作表標籤來選擇多個相鄰的工作表標籤。

2。 右鍵單擊“工作表標籤”欄上的選定工作表標籤,然後選擇 移動或複制 從上下文菜單中。 看截圖:
doc複製多張圖紙01

3。 在 移動或複制 對話框中,請指定以下設置:
(1)請指定要從中復制工作表的目標工作簿。 預訂 下拉列表。 您可以根據需要選擇活動的工作簿,另一個打開的工作簿或新的工作簿。
(2)在“圖紙選項卡”欄上指定要復制的圖紙的位置,您可以選擇所有現有的圖紙。
(3)檢查 建立副本 選項,如果您不選中此選項,則選定的工作表將被移到目標工作簿中。
(4)點擊 OK 按鈕。

現在,它將僅使選定的工作表一份複製到指定的工作簿中。 要製作這些工作表的多個副本,您可以多次重複該操作。

只需單擊幾下即可在活動工作簿中製作多個工作表的多個副本

通常,我們可以使用 移動或複制 Excel中的功能。 但是,此功能一次只能複制一份。 在這裡,用Kutools for Excel的 複製工作表 實用程序,只需單擊幾下,即可輕鬆在活動工作簿中製作所需數量的多個工作表副本。


廣告複製多個工作表01

Excel的Kutools - 包括 300 多個方便的 Excel 工具。 全功能免費試用 30-天,無需信用卡! 立即行動吧!

使用VBA代碼將一個指定工作表的多個副本放入活動工作簿中

如果要復制指定工作表的10個副本,則 移動或複制 命令將是一種耗時的方法,您必須多次重複該操作。 但是,使用以下VBA代碼,您可以一次快速地將工作表複製10次。

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

2。 點擊 插入 > 模塊,然後將以下代碼粘貼到“模塊窗口”中。

VBA:將某個工作表的多個副本複製到活動工作簿中

Sub Copier ()
Dim x As Integer
x = InputBox("Enter number of times to copy Sheet1")
For numtimes = 1 To x
ActiveWorkbook.Sheets("Sheet1").Copy _
After:=ActiveWorkbook.Sheets("Sheet1")
Next
End Sub

備註:在上面的代碼中,替換為“Sheet1”和要復制的工作表的名稱。

3。 然後按 F5 鍵以運行代碼,將出現一個提示框,詢問您想要的印張數量。

4。 然後點擊 OK,指定的工作表已在活動工作簿中復制了100次。


使用Kutools for Excel將多個工作表的多個副本製作到活動工作簿中

儘管在Excel中創建多個工作表的副本很簡單,但是如果要在當前工作簿中創建多個工作表的多個副本,則可能必須使用 移動或複制 命令項一次又一次。 是否想一鍵完成? 隨著 複製工作表 第三方加載項的實用程序 Excel的Kutools,您可以在Excel中一鍵製作多個工作表的多個副本。

Excel的Kutools - 包括 300 多個方便的 Excel 工具。 全功能免費試用 30-天,無需信用卡! 立即行動吧!

1。 點擊 Kutools 加 > 複製工作表。 看截圖:

備註:點擊 Kutools 加 > 下載學習單 > 複製工作表 也將獲得此功能。

2。 套用設定 複製多個工作表 對話框:
(1)檢查要復制的工作表 複製所選的工作表 部分。
(2)指定 份數.
(3)確定所複製工作表的位置,例如,在所有工作表之前或之後,當前工作表之前或之後。
(4)點擊 Ok 按鈕。

3。 彈出提示框,提醒您已根據需要將選中的工作表複製多次,請單擊 OK 按鈕退出。 看截圖:

這個 複製多個工作表 的特點 Excel的Kutools 只需單擊幾下,即可在活動工作簿中製作多個指定工作表的多個副本。 免費試用!


將多個工作簿中的多個工作表的一個副本複製到一個新的工作簿中

如果您安裝了Kutools for Excel,則還可以應用其 合併工作表 僅需在Excel中單擊幾下,即可將多個工作表的一個副本從多個關閉的工作簿複製到一個新的工作簿中。

Excel的Kutools - 包括 300 多個方便的 Excel 工具。 全功能免費試用 30-天,無需信用卡! 立即行動吧!

1。 點擊 Kutools 加 > 結合 激活合併工作表功能。

2。 在[合併工作表–第1步,共3步]嚮導中,請檢查 將工作簿中的多個工作表合併為一個工作表 選項,然後單擊 下一頁 按鈕。 看截圖:

3。 在“合併工作表-第2步(共3步)”嚮導中,請執行以下顯示的屏幕截圖:
(1)點擊 加入 > 文件 or 要添加工作簿,您將從中復制工作表。
(2)在 工作簿清單 部分,檢查要復制其工作表的工作簿;
(3)在 工作表清單 部分,檢查您將復制的工作表;
(4)在上方重複 (2) (3) 從其他工作簿中選擇工作表,您將要復制。
(5)點擊 下一頁 按鈕。

4。 在“合併工作表-第3步,共3步”嚮導中,請根據需要配置複製設置,然後單擊 按鈕。

5。 現在,在新對話框中,請指定目標文件夾以保存新工作簿,並在 文件名 框中,然後單擊 節省 按鈕。 看截圖:

現在,將出現另一個兩個對話框,要求您打開新工作簿並保存組合方案,請根據需要單擊按鈕。 到目前為止,它一次已從多個工作簿複製了所有指定的工作表。

有了這個 合併(工作表) 實用程序,您可以輕鬆地複制和合併工作表和工作簿,如下所示。 免費試用!
(1)將工作簿中的多個工作表/範圍快速組合為一個工作表;
(2)快速將工作簿中所有相同名稱的工作表合併/合併為一個工作表;
(3)快速將工作表或工作簿合併/合併為一個工作簿;
(4)將來自多個工作表的數據快速匯總/計算為一個工作表。


最佳辦公效率工具

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底部
按評論排序
留言 (25)
還沒有評分。 成為第一位評論!
網站主持人對此評論進行了最小化
使用 VBA 代碼,重複工作表的命名順序相反。 假設我製作了 Sheet10 的 1 個副本,我最終會得到 Sheet1、Sheet1(10)、Sheet1(9)、Sheet1(8),......是否可以按正常順序排列它們?
網站主持人對此評論進行了最小化
我嘗試了 VBA 代碼並得到下標超出範圍錯誤 (9)。 我用我能想到的已經在工作簿中的任何東西替換了工作表名稱。 知道我做錯了什麼嗎? 另外,有沒有辦法讓它逐步命名每張紙? 我敢肯定,這與邁克爾的問題有關。 我猜他的問題的答案是你需要以某種方式將 After 目標設置為 "sheet"+x ,如果有辦法指定新工作表的名稱,這反過來將適用於我的問題。 我總是可以將老闆的“主人”更改為“0 月 XNUMX 日”或任何月份,但如果腳本自動命名,她會更容易理解。
網站主持人對此評論進行了最小化
謝謝,vba代碼很大
網站主持人對此評論進行了最小化
哇,感謝 VBA 代碼。 它真的很有幫助!
網站主持人對此評論進行了最小化
[quote]使用VBA代碼,重複工作表的命名順序相反。 假設我製作了 Sheet10 的 1 個副本,我最終會得到 Sheet1、Sheet1(10)、Sheet1(9)、Sheet1(8),......是否可以按正常順序排列它們?通過邁克爾忠[/quote] 有人能回答這個問題嗎? 我需要創建 72 個副本,但需要按順序排列它們(1 到 72,而不是 72 到 1)謝謝!
網站主持人對此評論進行了最小化
[quote][quote]使用VBA代碼,重複工作表的命名順序是相反的。 假設我製作了 Sheet10 的 1 個副本,我最終會得到 Sheet1、Sheet1(10)、Sheet1(9)、Sheet1(8),......是否可以按正常順序排列它們?作者:胡安[/quote] 有人能回答這個問題嗎? 我需要創建 72 個副本,但需要按順序排列它們(1 到 72,而不是 72 到 1)謝謝!通過邁克爾忠[/quote]e] 如果您希望工作表副本按順序而不是倒序排列,請更改以下行... 之後:=ActiveWorkbook.Sheets(“表 1”) 到這... 之後:=ActiveWorkbook.Sheets(工作表.計數) 我完成的代碼如下所示,它使用 2 個 InputBox 提示來允許動態復制計數和工作表名稱.. Sub Copier() Dim s As String Dim numtimes As Integer Dim numCopies As Integer numCopies = InputBox("你需要多少份?") s = InputBox("輸入要復制的工作表名稱") For numtimes = 1 到 numCopies ActiveWorkbook.Sheets(s).Copy _ After:=ActiveWorkbook.Sheets(Worksheets.Count) Next End Sub
網站主持人對此評論進行了最小化
我如何獲得連續編號的副本。 如果我要復制的工作表名為 I002,我希望下一個名為 I003、I004、I005 等等。
網站主持人對此評論進行了最小化
搜索單詞“After”並將其更改為“Before”。 這將以正確的順序“在”Sheet1 之前創建副本。 唯一要記住的是,編號總是從 (2) 開始,因為原始工作表將始終被視為第一份副本。 您也可以將“Sheet1”替換為您嘗試複製的選項卡的名稱。
網站主持人對此評論進行了最小化
是的,它可以工作,謝謝我已經通過大量使用 vba 代碼成功地在同一個工作簿中製作了單個工作表的多個副本。
網站主持人對此評論進行了最小化
如何以相同的列寬複製
網站主持人對此評論進行了最小化
與原始工作表的列寬相同,還是您希望所有列寬都相同?
網站主持人對此評論進行了最小化
我遇到了與 Theou 相同的錯誤,似乎沒有人解決它。 我的選項卡已經命名為 PO 51、PO 52 等,我用 PO 1 替換了 Sheet51 以復制它並得到下標錯誤超出範圍 (9) 我按照 Schuyler 的代碼獲得正確的順序,但我仍然得到錯誤它總是由於這兩行: ActiveWorkbook.Sheets(s).Copy _ Before:=ActiveWorkbook.Sheets(Worksheets.Count)
網站主持人對此評論進行了最小化
[quote]我遇到了與 Theou 相同的錯誤,似乎沒有人解決它。 我的選項卡已經命名為 PO 51、PO 52 等,我用 PO 1 替換了 Sheet51 以復制它並得到下標錯誤超出範圍 (9) 我按照 Schuyler 的代碼獲得正確的順序,但我仍然得到錯誤它總是由於這兩行: ActiveWorkbook.Sheets(s).Copy _ Before:=ActiveWorkbook.Sheets(Worksheets.Count)由黛比[/quote] 能否包含完整的代碼以使其更易於調試? “下標錯誤超出範圍”通常意味著代碼引用了不存在的內容。 當我有錯字或類似的東西時,我會在我自己的代碼中找到這個。
網站主持人對此評論進行了最小化
我收到未定義“numtimes”的錯誤...?
網站主持人對此評論進行了最小化
我將在vba中插入上面的代碼我應該在裡面創建公共按鈕嗎? 問候。
網站主持人對此評論進行了最小化
請按照以下步驟操作:
1.複製上面的代碼
2. 按住 ALT + F11 鍵,打開 Microsoft Visual Basic for Applications 窗口。
2. 單擊插入 > 模塊,然後將以下代碼粘貼到模塊窗口中。
4.然後按F5鍵運行代碼
5.出現一個提示框,詢問您想要的張數。
網站主持人對此評論進行了最小化
當我第一次嘗試時,我收到了錯誤消息,因為我沒有更改名稱 Sheet1。 在我意識到導致錯誤的原因後,我進一步研究了一些,因為我不想手動將工作表名稱輸入到宏中。 當我需要這個功能時,它幾乎總是針對當前工作表。 我添加了行 a = activesheet.name 並將行之後的行:=activeworkbook.sheets("sheet1") 修改為 activeworkbook.sheets(a).copy _ 效果很好,但我確實注意到編號被顛倒了......這並沒有打擾我,因為無論如何我都要手動重命名新工作表。 當我看到 Schuyler 的帖子時,我將 activeworkbook.sheets(a).copy _ 行進一步修改為 after:=activeworkbook.sheets(worksheets.count) 我現在對結果感到滿意。 我完成的宏: Sub copies() Dim x As Integer x = InputBox("Enter number of times to copy Sheet1") For numtimes = 1 To x ActiveWorkbook.Sheets("Sheet1").Copy _ After:=ActiveWorkbook.Sheets( Worksheets.Count) Next End Sub --- 一切順利,巴里
網站主持人對此評論進行了最小化
非常感謝巴里。 你完成的宏是唯一對我有用的東西。
網站主持人對此評論進行了最小化
我在“After:=ActiveWorkbook.Sheets(Worksheets.Count)


但我不知道怎麼了...你能幫幫我嗎?
網站主持人對此評論進行了最小化
很棒的 VBA 代碼 - 真的很有幫助
網站主持人對此評論進行了最小化
我是新手,我只是想複製同一張表,這是我正在使用的代碼。 Sub Copier() Dim s As String Dim numtimes As Integer Dim numCopies As Integer numCopies = InputBox("你需要多少份?") s = InputBox("輸入要復制的工作表名稱") For numtimes = 1 To numCopies ActiveWorkbook.Sheets(s).Copy _ After:=ActiveWorkbook.Sheets(Worksheets.Cou nt) Next End Sub 當我使用代碼時,它給了我“語法錯誤”的錯誤,然後這個文本變成紅色 ActiveWorkbook.Sheets (s).Copy _ After:=ActiveWorkbook.Sheets(Worksheets.Count) 並且是文本變成黃色 Sub Copier() 我可以做些什麼來修復它。
網站主持人對此評論進行了最小化
[quote]我是新手,我只是想複製同一張紙,這是我正在使用的代碼。 Sub Copier() Dim s As String Dim numtimes As Integer Dim numCopies As Integer numCopies = InputBox("你需要多少份?") s = InputBox("輸入要復制的工作表名稱") For numtimes = 1 To numCopies ActiveWorkbook.Sheets(s).Copy _ After:=ActiveWorkbook.Sheets(Worksheets.Cou nt) Next End Sub 當我使用代碼時,它給了我“語法錯誤”的錯誤,然後這個文本變成紅色 ActiveWorkbook.Sheets (s).Copy _ After:=ActiveWorkbook.Sheets(Worksheets.Count) 並且是文本變成黃色 Sub Copier() 我可以做些什麼來修復它。通過泰勒登普西[/quote] 仔細檢查您的代碼並確保您在 ActiveWorkbook 中沒有空間。 Sheets(s).Copy _ 或在 Sheets(Worksheets.Count)
網站主持人對此評論進行了最小化
[quote]我是新手,我只是想複製同一張紙,這是我正在使用的代碼。 Sub Copier() Dim s As String Dim numtimes As Integer Dim numCopies As Integer numCopies = InputBox("你需要多少份?") s = InputBox("輸入要復制的工作表名稱") For numtimes = 1 To numCopies ActiveWorkbook.Sheets(s).Copy _ After:=ActiveWorkbook.Sheets(Worksheets.Cou nt) Next End Sub 當我使用代碼時,它給了我“語法錯誤”的錯誤,然後這個文本變成紅色 ActiveWorkbook.Sheets (s).Copy _ After:=ActiveWorkbook.Sheets(Worksheets.Count) 並且是文本變成黃色 Sub Copier() 我可以做些什麼來修復它。通過泰勒登普西[/quote] 下面是您要使用的確切代碼: Sub Copier() Dim s As String Dim numtimes As Integer Dim numCopies As Integer numCopies = InputBox("你需要多少份?") s = InputBox("Enter您要復制的工作表的名稱") For numtimes = 1 To numCopies ActiveWorkbook.Sheets(s).Copy _ After:=ActiveWorkbook.Sheets(Worksheets.Count) Next End Sub
網站主持人對此評論進行了最小化
謝謝,最後一個救了我的命:)
網站主持人對此評論進行了最小化
工作代碼

子復印機()
昏暗的s作為字符串
將 numtimes 調暗為整數
將 numCopies 調暗為整數
numCopies = InputBox("你需要多少份?")
s = InputBox("輸入要復制的工作表名稱")
對於 numtimes = 1 到 numCopies
ActiveWorkbook.Sheets(s).Copy After:=ActiveWorkbook.Sheets(Worksheets.Count)
下一頁
END SUB

從 ActiveWorkbook.Sheets 複製整行......這就是問題所在,還有一些空格

祝你有美好的一天
這裡還沒有評論
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點

關注我們

版權所有©2009 - 萬維網。extendoffice.com。 | 版權所有。 供電 ExtendOffice。 |
Microsoft和Office徽標是Microsoft Corporation在美國和/或其他國家的商標或註冊商標。
受Sectigo SSL保護