KutoolsforOffice — 一套方案,五大工具。事半功倍。

如何在 Excel 中复制多个选定的区域或范围?

作者晓阳修改日期

在日常 Excel 工作中,您常常需要从大型工作表中提取分散各处的数据片段,而非连续的数据块。例如,您可能希望一次性复制特定表格、某些列或多个不相邻的单元格,并将它们汇总或转移到另一张工作表中。然而,当您选中多个非连续区域并尝试同时复制时,Excel 会弹出警告:“此命令不能用于多重选定区域。”这确实令人沮丧——若仅依赖 Excel 的默认功能,整合或分发这些零散数据将变得异常繁琐。那么,有哪些高效方法可以快速复制多个选定区域?本指南将为您介绍几种实用解决方案,深入分析每种方法的价值、适用场景及注意事项,助您轻松应对这类常见的电子表格挑战。


使用剪贴板复制多个选择区域

Excel 内置的剪贴板常被忽视,却能帮您在工作表中轻松聚合多个内容片段!通过剪贴板窗格,您可以从不同位置逐个复制内容并集中收集,再一键粘贴到目标工作表的指定区域。此方法特别适合收集视觉内容、图形或较小选区,但请注意:Excel 将这些操作视为独立的复制——因此粘贴时格式和结构可能无法始终保持一致。以下是详细步骤和重要注意事项:

1. 单击开始功能区中的剪贴板组右下角的展示如何在 Excel 中打开剪贴板窗格的截图,即可显示剪贴板窗格。(该窗格通常位于 Excel 功能区中剪贴板组的右下角。)参见截图:

2. 逐个复制您需要的每个区域。每次复制后,所选内容会以独立项目的形式出现在左侧剪贴板窗格中。对所有要合并的区域重复此操作,即可在粘贴前通过剪贴板列表确认是否已捕获全部所需内容,并删除任何误复制的项目。

3. 转到目标工作表,选择要聚合复制内容的目标单元格,然后在剪贴板窗格中单击全部粘贴,即可一次性粘贴所有已收集的项目。

通过剪贴板粘贴时,内容默认会垂直堆叠;因此,若需按特定结构对齐数据(尤其是表格或列表),您可能需要手动调整粘贴结果。此外,剪贴板最多可保存 24 个项目——超出此数量时,最早的内容将被自动替换。请务必确认粘贴区域为空,以免意外覆盖重要数据。

轻松将多个工作表/工作簿中的多个选区合并到单个工作表/工作簿中

如果需要从多个工作表或工作簿中收集或合并内容,跨工作簿重复手动复制粘贴不仅繁琐、易出错,还极其耗时——尤其在处理大规模数据聚合时更是如此。借助 Kutools for Excel汇总工作表(工作表和工作簿)功能,您可高效地将多个工作表和工作簿整合至单一目标位置,全程最大限度减少手动操作,同时完整保留原始数据结构。此功能特别适用于月度报告、跨部门数据汇总或历史数据整合,助您轻松提升效率!


使用 Kutools for Excel 轻松将多个工作表/工作簿中的多个选区合并到单个工作表/工作簿中的截图

Kutools for Excel——通过 300 多款必备工具全面增强 Excel 功能,助您工作更快速、更轻松,并借助 AI 功能实现更智能的数据处理与高效办公!立即获取

使用 VBA 代码复制多个选择区域

如果您的工作流程经常涉及复制多个不连续区域,通过 VBA(Visual Basic for Applications)自动化该过程可显著节省时间并减少人为错误。此解决方案最适合高级用户,或需要重复执行结构化任务的场景——例如每周复制相同部分,或为报告重新格式化数据。此方法提供了更高的灵活性,但需要谨慎操作并注意粘贴位置,以避免意外覆盖数据。

1. 按住 Ctrl 键,然后用鼠标选择所有要收集的不相邻区域。

2. 同时按下 Alt+F11,即可打开 Microsoft Visual Basic for Applications(VBA)编辑器窗口,然后单击插入> 模块,并将以下代码直接粘贴到模块窗口中:

Option Explicit
Sub CopyMultipleSelection()
Dim SelAreas() As Range
Dim PasteRange As Range
Dim UpperLeft As Range
Dim NumAreas As Integer, i As Integer
Dim TopRow As Long, LeftCol As Integer
Dim RowOffset As Long, ColOffset As Integer
Dim NonEmptyCellCount As Integer
' Exit if a range is not selected
If TypeName(Selection) < > "Range" Then
MsgBox "Select the range to be copied. A multiple selection is allowed."
Exit Sub
End If
' Store the areas as separate Range objects
NumAreas = Selection.Areas.Count
ReDim SelAreas(1 To NumAreas)
For i = 1 To NumAreas
Set SelAreas(i) = Selection.Areas(i)
Next
' Determine the upper left cell in the multiple selection
TopRow = ActiveSheet.Rows.Count
LeftCol = ActiveSheet.Columns.Count
For i = 1 To NumAreas
If SelAreas(i).Row < TopRow Then TopRow = SelAreas(i).Row
If SelAreas(i).Column < LeftCol Then LeftCol = SelAreas(i).Column
Next
Set UpperLeft = Cells(TopRow, LeftCol)
' Get the paste address
On Error Resume Next
Set PasteRange = Application.InputBox _
(Prompt:="Specify the upper left cell for the paste range:", _
Title:="Copy Mutliple Selection", _
Type:=8)
On Error GoTo 0
' Exit if canceled
If TypeName(PasteRange) < > "Range" Then Exit Sub
' Make sure only the upper left cell is used
Set PasteRange = PasteRange.Range("A1")
' Check paste range for existing data
NonEmptyCellCount = 0
For i = 1 To NumAreas
RowOffset = SelAreas(i).Row - TopRow
ColOffset = SelAreas(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)))
Next i
' If paste range is not empty, warn user
If NonEmptyCellCount < > 0 Then _
If MsgBox("Overwrite existing data?", vbQuestion + vbYesNo, _
"Copy Multiple Selection") < > vbYes Then Exit Sub
' Copy and paste each area
For i = 1 To NumAreas
RowOffset = SelAreas(i).Row - TopRow
ColOffset = SelAreas(i).Column - LeftCol
SelAreas(i).Copy PasteRange.Offset(RowOffset, ColOffset)
Next i
End Sub

3. 在 VBA 窗口中,点击运行按钮(或按 F5)即可执行代码。

4. 将弹出一个输入框,提示您指定要粘贴合并区域的目标左上角左侧的单元格。确认后,单击确定
选择目标单元格以放置已复制区域的截图

注意事项与故障排除:VBA 代码将从指定目标位置的左上角开始粘贴所选区域。请注意潜在的数据覆盖风险——若目标区域非空,系统将弹出警告。如遇“下标越界”等错误,请确认您的选区是否完全由单元格区域组成。此方法不支持复制图形、图表等非单元格对象,仅会复制单元格的值与格式。


快速从一个工作表复制多个选择区域

Kutools for Excel多区域复制工具为您提供更高效的解决方案:只需在工作表中选中所有目标区域,即可一步完成复制。通过简洁直观的界面,您能精准选择粘贴方式——无论是全部内容、仅公式、仅数值还是仅格式。还可选择性保留行高与列宽,大幅提升效率,确保格式统一!

Kutools for Excel——通过 300 多款必备工具全面增强 Excel 功能,助您工作更快速、更轻松,并借助 AI 功能实现更智能的数据处理与高效办公!立即获取

1. 按住 Ctrl 键逐个选择区域,然后转到 Kutools > 多区域复制。参见截图:
启用并配置 Kutools for Excel 的“复制多个区域”功能的截图

2. 在多区域复制对话框中,从全部选项中选择选择性粘贴,然后单击确定进行确认。您还可在此进一步自定义粘贴设置——例如仅粘贴数值或保留全部格式。

注意:若要为所有区域保留原始行高和列宽,请在单击确定前,先勾选包括行高包括列宽选项。当结构外观至关重要时(例如创建模板或整洁报告),此功能非常实用。

3. 在弹出的目标选择框中,指定目标粘贴区域左上角左侧的单元格,然后单击确定
选择目标单元格的截图

所有选定区域将连续粘贴至目标位置,并可按需保留原始尺寸。此方法高效快捷,省去重复的手动复制粘贴操作,还能根据您的工作流程灵活定制粘贴效果。

单击此处了解有关多区域复制功能的更多信息

Kutools for Excel——通过 300 多款必备工具全面增强 Excel 功能,助您工作更快速、更轻松,并借助 AI 功能实现更智能的数据处理与高效办公!立即获取


从多个工作表/工作簿中多区域复制

从多个工作表或不同工作簿中聚合数据片段,是生成汇总报告或进行数据分析的常见需求。手动操作不仅耗时,还容易出错,尤其在处理大型文件时更是如此。Kutools for Excel汇总工作表功能,让从多个工作表甚至工作簿中复制指定区域变得简单直观、步步引导。此工具非常适合月度数据整合、合并调查结果、汇总发票数据等任务——只要数据分散在多个来源,它都能轻松应对!

Kutools for Excel——通过 300 多款必备工具全面增强 Excel 功能,助您工作更快速、更轻松,并借助 AI 功能实现更智能的数据处理与高效办公!立即获取

1. 首先,单击 Excel 功能区上的 KUTOOLS PLUS> 合并

2. 在“汇总工作表 – 第 1 步(共 3 步)”对话框中,选择将多个工作表从工作簿合并到一个工作表中,然后单击下一步
在“合并工作表”向导中选择“将工作簿中的多个工作表合并为一个工作表”选项的截图

3. 在第 2 步(共 3 步)中,请执行以下操作:
选择按钮的截图
(1) 在工作簿列表中,选择目标工作簿,然后单击每个工作表后的选择按钮的截图浏览按钮,即可指定所需的确切区域。
(2) 如需包含其他工作簿,请单击添加,并针对新增文件重复步骤(1) 以指定区域。
(3) 确认所有选择无误后,单击完成

Kutools for Excel——通过 300 多款必备工具全面增强 Excel 功能,助您工作更快速、更轻松,并借助 AI 功能实现更智能的数据处理与高效办公!立即获取

4. 系统将弹出提示,询问您是否要将当前设置保存为方案以供将来使用。单击即可保存,或单击可不保存并继续操作。

完成后,来自不同工作表或工作簿的所有限定区域将自动收集并放置到一个新工作表或工作簿中,无需重复手动复制粘贴。这不仅保留了数据结构,还大幅加快了整合分散信息的速度。


使用 Excel 公式复制并合并多个区域

对于希望将非连续区域的内容聚合到单一列表或汇总表中,而又不想使用 VBA 或剪贴板的用户,Excel 公式非常有帮助。这尤其适用于处理结构化数据集的场景,例如将多个列或列表中的所有数据汇总到一个区域。以下是使用以下公式的实际示例:

1. 假设您希望将区域 A1:A5C1:C5 合并到从单元格 E1 开始的单列中,请在 E1 中输入以下公式:

=VSTACK(A1:A5, C1:C5)

2. 按 Enter 确认,两个区域中的所有值将依次堆叠显示在 E1 及其下方单元格中。如需将多个非相邻区域的数据汇总到其他位置,只需修改 VSTACK 函数中的区域引用即可。

注释
  • VSTACK 函数仅适用于 Microsoft 365 专属 Excel Microsoft 365 Mac 版专属 Excel Excel 网页版。
  • 如果您的 Excel 版本不支持 VSTACK,可使用以下公式实现多区域合并复制。以下示例将 A1:A5C1:C5 合并至 E1:E10
    =IF(ROW(A1)<=5,INDEX(A$1:A$5,ROW(A1)),INDEX(C$1:C$5,ROW(A1)-5))
    在单元格 E1 中输入此公式,按 Enter 后,再向下拖动填充至 E10,即可将 A1:A5 的前 5 个值与 C1:C5 的后 5 个值依次合并到同一列中。请根据您的实际数据调整区域范围和引用。

注意事项:这些公式适用于静态数据汇总,但不会保留格式、公式、图表或合并单元格。它们最适合用于合并列表或简单表格。如遇 #REF!等错误,请仔细检查区域边界。

处理多个区域时,请务必仔细核对所选内容,并在执行批量操作前考虑创建备份——尤其是在繁忙的工作簿中运行 VBA 脚本或使用插件时。如果粘贴结果不符合预期,请检查源格式及目标区域的结构。Kutools for Excel 旨在简化这些流程,提供稳定工具以高效处理此类任务。请选择最适合您场景的方法:偶尔使用时,剪贴板或 Excel 公式即可满足需求;而对于频繁或大规模任务,使用 VBA 或 Kutools 工具能带来更高的便利性与准确性。


演示:从一个工作表复制多个选择区域

 

演示:从多个工作簿/工作表复制多个选择区域

 

Kutools for Excel:超过 300 款实用工具触手可及!畅享 AI 驱动的功能,让工作更智能、更高效!立即下载!

最佳办公效率工具

🤖KUTOOLS AI 助手:基于以下内容革新数据分析:智能执行   |  生成代码|  创建自定义公式  |  数据分析及生成图表|  调用 Kutools Functions……
热门功能查找、高亮或标记重复项   |  删除空白行   |  合并列或单元格且不丢失数据   |  不使用公式的四舍五入……
高级 LOOKUP多条件 VLookup  |  多值 VLookup  |   跨多工作表 VLookup   |   模糊查找……
高级下拉列表快速创建下拉列表   |  级联下拉列表   |  多选下拉列表……
列管理器添加指定数量的列|移动列|切换隐藏列的可见性状态|比较区域与列……
特色功能网格聚焦   |  设计视图   |增强编辑栏   | 工作簿和表管理器   |  资源库(自动文本)|  日期提取   |  汇总工作表  |  加密/解密单元格   | 按列表发送邮件   |  超级筛选   |   特殊筛选(筛选粗体单元格/斜体/删除线……) ......
精选 15 工具集12 文本工具添加文本删除特定字符,……)|   50+ 图表 类型甘特图,……)|   40+ 实用公式基于生日计算年龄,……)|   19 插入工具插入二维码从路径插入图片,……)|   12 转换工具小写金额转大写汇率转换,……)|   7 合并和拆分工具高级合并行分割单元格,……)|……更多
在您的首选语言中使用 Kutools – 支持英语、西班牙语、德语、法语、中文及 40+ 种其他语言!

使用 Kutools for Excel 大幅提升您的 Excel 技能,体验前所未有的高效。Kutools for Excel 提供 300 多项高级功能,助您提升生产力、节省时间。立即点击此处,获取您最需要的功能……


Office Tab 为 Office 带来标签式界面,让您的工作更轻松

  • 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中启用标签式编辑和阅读
  • 在同一个窗口的新标签页中打开并创建多个文档,而非在新窗口中。
  • 将您的工作效率提升 50%,每天减少数百次鼠标点击!

所有 Kutools 插件,一个安装程序

Kutools for Office 套件捆绑了适用于 Excel、Word、Outlook 和 PowerPoint 的插件以及 Office Tab Pro,非常适合需要跨多个 Office 应用高效协作的团队。

ExcelWordOutlookTabsPowerPoint
  • 一体化套件— Excel、Word、Outlook 和 PowerPoint 插件 + Office Tab Pro
  • 一个安装程序,一个许可证— 几分钟内完成设置(支持 MSI)
  • 协同效果更佳— 在多个 Office 应用中实现高效协同
  • 30 天全功能试用— 无需注册,无需信用卡
  • 超值之选— 比单独购买插件更省钱