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

Kutools for Excel - 包括 300 多个方便的 Excel 工具。 全功能免费试用 30-天,无需信用卡! 立即行动吧!

使用VBA代码将一个指定工作表的多个副本放入活动工作簿中

如果要复制指定工作表的10个副本,则 移动或复制 命令将是一种耗时的方法,您必须多次重复该操作。 但是,使用以下VBA代码,您可以一次快速地将工作表复制10次。

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

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中制作多个工作表的副本很简单,但是如果要在当前工作簿中制作多个工作表的多个副本,则可能必须使用 移动或复制 命令项一次又一次。 是否想一键完成? 随着 复制工作表 第三方加载项的实用程序 Kutools for Excel,您可以在Excel中一键制作多个工作表的多个副本。

Kutools for Excel - 包括 300 多个方便的 Excel 工具。 全功能免费试用 30-天,无需信用卡! 立即行动吧!

1。 点击 Kutools 加 > 复制工作表。 看截图:

备注:点击 Kutools 加 > 工作表 > 复制工作表 也将获得此功能。

2。 套用设定 复制多个工作表 对话框:
(1)检查要从中复制的工作表 复制所选的工作表 部分。
(2)指定 份数.
(3)确定所复制工作表的位置,例如,在所有工作表之前或之后,当前工作表之前或之后。
(4)点击 Ok 按钮。

3。 弹出提示框,提醒您已根据需要将选中的工作表复制多次,请单击 OK 按钮退出。 看截图:

本篇 复制多个工作表 的特点 Kutools for Excel 只需单击几下,即可在活动工作簿中制作多个指定工作表的多个副本。 免费试用!


将多个工作表中的多个工作表的一个副本复制到一个新的工作簿中

如果您已经安装了Kutools for Excel,也可以应用它 合并工作表 仅需在Excel中单击几下,即可将多个工作表的一个副本从多个关闭的工作簿复制到一个新的工作簿中。

Kutools for Excel - 包括 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
该评论由网站上的主持人最小化
谢谢,最后一个救了我的命:)
该评论由网站上的主持人最小化
工作代码

子复印机()
暗淡如弦
将 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保护