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

如何在Excel中复制多个选择或范围?

例如,您有一个很大的工作表,现在您只想复制一些选定范围并分发到其他工作表。 但是,当您选择多个范围并单击“复制”时,将出现一个提示对话框,提醒您“该命令不能用于多个选择。” 在这种情况下,如何快速复制多个选定范围? 这里有一些技巧可以帮助您解决此任务。


使用剪贴板复制多个选定范围

的帮助下 剪贴板,您可以一次将所有选定范围粘贴到另一个范围或工作表。 请执行以下操作:

1。 点击 首页 > doc复制多个范围09剪贴板 组以显示 剪贴板 面包.。 看截图:

2。 然后一一复制所需的选定范围。 同时,复制的范围已出现在 剪贴板 面包. 参见上面的截图:

3。 选择将所有复制的范围粘贴到的目标范围的第一个单元格,然后单击 全部粘贴 按钮在 剪贴板 窗格。

然后,所有复制的范围都已粘贴到指定的目标范围中。

轻松地将多个工作表/工作簿中的多个选择组合到单个工作表/工作簿中

将来自不同工作簿的数十张表合并为一张表可能很麻烦。 但是使用Kutools for Excel的 合并(工作表和工作簿) 实用程序,只需单击几下就可以完成!


广告组合床单书1

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

使用VBA代码复制多个选定范围

使用VBA代码,您还可以复制多个选定范围并将其粘贴到任何其他工作表中。

1。 拿着 按Ctrl 键,然后选择要使用的多个非相邻范围。

2。 按 其他 + F11 按键同时打开 适用于应用程序的Microsoft Visual Basic 窗口中,单击 插页 > 模块,然后将以下代码输入到模块中:

选项显式子CopyMultipleSelection()Dim SelAreas()作为范围Dim PasteRange作为范围Dim UpperLeft作为范围Dim NumAreas作为整数,我作为Integer Dim TopRow如长,LeftCol作为整数Dim RowOffset如长,ColOffset如整数Dim NonEmptyCellCount如整数如果未选择范围,则如果TypeName(Selection)<>“ Range”,则MsgBox“选择要复制的范围。允许多项选择。” 退出子结束如果'将区域存储为单独的范围对象,则NumAreas = Selection.Areas.Count ReDim SelAreas(1到NumAreas)对于i = 1到NumAreas设置SelAreas(i)= Selection.Areas(i)Next'确定左上角多个选择中的单元格TopRow = ActiveSheet.Rows.Count LeftCol = ActiveSheet.Columns.Count对于i = 1到NumAreas如果SelAreas(i).Row <TopRow然后TopRow = SelAreas(i).Row如果SelAreas(i).Column <LeftCol然后LeftCol = SelAreas(i)。列Next Set UpperLeft = Cells(TopRow,LeftCol)'在错误继续时获取粘贴地址Next Set PasteRange = Application.InputBox _(Prompt:=“请指定粘贴的左上单元格范围:“,_标题:=”复制多重选择“,_类型:= 8)发生错误时GoTo 0'如果取消,则退出如果TypeName(PasteRange)<>” Range“然后退出Sub'确保仅左上方的单元格使用的Set PasteRange = PasteRange.Range(“ A1”)'检查现有数据的粘贴范围NonEmptyCellCount = 0对于i = 1到NumAreas RowOffset = SelAreas(i)。行-TopRow ColOffset = Sel Areas(i).Column-LeftCol NonEmptyCellCount = NonEmptyCellCount + _ Application.CountA(Range(PasteRange.Offset(RowOffset,ColOffset),_ PasteRange.Offset(RowOffset + SelAreas(i).Rows.Count-1,_ ColOffset + SelAreas) (i).Columns.Count-1)))接下来的i'如果粘贴范围不为空,则警告用户If NonEmptyCellCount <> 0则_如果MsgBox(“是否覆盖现有数据?”,vbQuestion + vbYesNo,_“复制多个选择“)<> vbYes然后退出Sub'复制并粘贴每个区域,对于i = 1到NumAreas RowOffset = SelAreas(i)。行-TopRow ColOffset = SelAreas(i)。列-LeftCol SelAreas(i).Copy PasteRange.Offset( RowOffset,ColOffset)下一个i End Sub

3。 然后点击 运行 按钮运行代码。

4。 现在,请指定一个单元格以将范围粘贴到开头 复制多项选择 对话框,然后单击 OK 按钮。 看截图:


从一个工作表中快速复制多个选定范围

新的 复制多个范围 实用程序 Kutools for Excel 可以帮助您轻松快速地从活动工作表中复制多个范围。 请执行以下操作:

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

1。 选择要一一使用的范围,而无需按住 按Ctrl 键,然后单击 库工具 > 复制范围。 看截图:

2。 在 复制多个范围 对话框,检查 全部商品 选项 特殊粘贴 部分,然后单击 好吧b乌顿。 参见上面的截图:

请注意: 如果要将行高和列宽保持在原始范围内,请检查 包括行高 选项和 包括列宽 复制多个范围对话框中的选项。

3。 并在以下提示框中指定一个单元格以粘贴范围,然后单击 OK 按钮。

现在,所有选定范围都将粘贴到指定单元格中,其行高和列宽与原始选择的行高和列宽相同。

单击此处,了解有关“复制多个范围”实用程序的更多信息。       

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


从许多工作表/工作簿中复制多个范围

Kutools for Excel提供了另一个 合并工作表 该实用程序可在Excel中轻松地从多个工作表或多个工作簿中复制多个范围。 请执行以下操作:

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

1。 点击 Kutools 加 > 结合.

2.在打开的合并工作表–第1步,共3对话框中,请检查 将工作簿中的多个工作表合并为一个工作表 选项,然后单击 下一页 按钮。

3。 在“合并工作表–第2步,共3步”对话框中,请执行以下操作:

(1)在 工作簿清单 部分,然后单击 浏览 每个工作表后面的按钮以指定每个工作表的范围;
(2)点击 加入 按钮添加要从中复制范围的其他工作簿,然后重复上述(1)以在添加的工作簿中指定范围。
(3)点击 结束通话 按钮。

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

4。 然后会出现一个Kutools for excel对话框,并要求保存组合方案。 请点击 按钮或 没有 按钮,根据需要。

到目前为止,已复制多个工作表或工作簿中的所有指定范围,并将其粘贴到新工作簿中。


演示:从一个工作表中复制多个选定范围

演示:从许多工作簿/工作表中复制多个选定范围


Kutools for Excel 包括适用于Excel的300多种便捷工具,可以在30天之内免费试用。 立即下载并免费试用!

最佳办公效率工具

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底部
按评论排序
注释 (14)
还没有评分。 成为第一位评论!
该评论由网站上的主持人最小化
我想选择像 1、5,6,10、XNUMX、XNUMX 这样的行。 那么我怎样才能复制这些行???
该评论由网站上的主持人最小化
在这种情况下,您可以像往常一样选择行并复制它们。
该评论由网站上的主持人最小化
如何复制单元格 a1、e5、g2 等....(同一列中超过 1000 个单元格)并将它们粘贴到 b1、f5、h2 中(直接粘贴到同一行的下一列中。)
该评论由网站上的主持人最小化
发现上面对复制多个范围的选项的解释非常有帮助 - 谢谢! 我使用“剪贴板”选项复制多行。 必须选择每组连续行并复制它,继续并选择下一行或一组连续行并复制它等等。但是在这之后很容易,转到您要粘贴它们的位置,例如新工作表,然后单击剪贴板中的“全部粘贴”,所有行都被复制到那里,没有任何间隙! 正是我想要的——再次感谢!
该评论由网站上的主持人最小化
非常感谢你 - 多么棒的网站
该评论由网站上的主持人最小化
我发现如果你打开了剪贴板任务平面,你可以简单地使用 ctrl+C 复制多行,然后使用 Excel 2007 使用 crtl+V 按顺序粘贴它们。
该评论由网站上的主持人最小化
嗨,是否可以调整代码以便将复制的单元格粘贴到另一张表中? 现在,当我尝试此操作时,我收到错误消息“400”。 我使用Office 2010。另外,是否可以复制以删除空行? 我有一个大文档,我复制了一些单元格,它们之间有数百个未复制的行。 这使得输出相当庞大。
该评论由网站上的主持人最小化
感谢您的代码,完美运行。 Excel 中这种奇怪的功能缺失在过去曾多次难倒我。 最终解决它通常会更快,但在这种情况下,我有 4000 个单独颜色编码的单元格,所以任何解决方法都需要很长时间,所以我非常感激。 史蒂夫
该评论由网站上的主持人最小化
你好! 我如何使用上面相同的 VBA 代码,而不是简单地粘贴,我希望它只为值粘贴特殊的。 我将值(常量)放入的表已经格式化并带有总计(公式)
非常感谢!
该评论由网站上的主持人最小化
嗨卡特里娜马纳汉,

请打开 Microsoft Visual Basic for applications 窗口,并创建一个新模块,只需按 CTRL + V 直接粘贴 VBA 代码。 代码前的序号不会被粘贴。
该评论由网站上的主持人最小化
你好。 代码不错,效果很好。 是否有可能以一种可以多次插入/粘贴市场行/范围而不是一次的方式修改代码?
该评论由网站上的主持人最小化
嗨,雅各,
也许 Kutools for Excel 的插入标题行功能可以解决您的问题。
https://www.extendoffice.com/product/kutools-for-excel/excel-insert-title-rows.html
该评论由网站上的主持人最小化
您好,
很棒的帖子,VBA 代码完美运行。 是否可以更改代码以粘贴特殊 > 值? 如果是这样,怎么做?
谢谢!
该评论由网站上的主持人最小化
您好,
很棒的代码,但想知道如何粘贴值而不仅仅是粘贴?
谢谢 :)
这里还没有评论
留下你的意见
以访客身份发帖
×
评价此帖子:
0   产品特性
建议地点

关注我们

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