如何在 Excel 中複製多個選定區域或範圍?
例如,您有一個大型工作表,現在只想複製一些選定的範圍並將其分發到其他工作表。但是當您選擇多個範圍並點擊複製時,會出現一個提示對話框提醒您“該命令不能用於多個選定範圍。” 在這種情況下,您如何快速複製多個選定範圍呢?這裡有一些技巧可以幫助您解決這個問題。
使用剪貼板複製多個選定範圍
借助剪貼板,您可以一次性將所有選定的範圍粘貼到另一個範圍或工作表中。請按照以下步驟操作:
1. 點擊 Home > 在 剪貼板 群組中以顯示 剪貼板 面板.. 請參見截圖:
2. 然後逐一複製您需要的選定範圍。同時,已複製的範圍也會出現在剪貼板 面板中。 請參見上面的截圖:
3. 選擇要粘貼所有複製範圍的目的地範圍的第一個單元格,然後在剪貼板 面板中點擊「全部粘貼」按鈕。
然後所有複製的範圍都會被粘貼到指定的目的地範圍中。
輕鬆將來自多個工作表/工作簿的多個選定範圍合併到單一工作表/工作簿中
將數十個來自不同工作簿的工作表合併到一個工作表可能會很繁瑣。但是,有了 Kutools for Excel 的 合併(工作表和工作簿) 工具,只需幾次點擊即可完成!

Kutools for Excel - 超過 300 種必備工具,讓 Excel 功能更強大。永久免費享受 AI 功能!立即獲取
使用 VBA 程式碼複製多個選定範圍
通過 VBA 程式碼,您還可以複製多個選定範圍並將它們粘貼到任何其他工作表中。
1. 按住 Ctrl 鍵並選擇您想使用的多個不相鄰範圍。
2. 同時按下 Alt + F11 鍵打開 Microsoft Visual Basic for Applications 視窗,點擊 插入 > 模組,然後在模組中輸入以下程式碼:
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. 然後點擊執行按鈕來運行程式碼。
4. 接著在彈出的「複製多個選定範圍」對話框中指定一個單元格來粘貼範圍,然後點擊確定按鈕。請參見截圖:
快速從一個工作表中複製多個選定範圍
Kutools for Excel 的多區域複製工具可以幫助您輕鬆快速地從活動工作表中複製多個範圍。請按照以下步驟操作:
Kutools for Excel - 超過 300 種必備工具,讓 Excel 功能更強大。永久免費享受 AI 功能!立即獲取
1. 逐一選擇您想使用的範圍(無需按住 Ctrl 鍵),然後點擊 Kutools > 複製範圍。請參見截圖:
2. 在「複製多個範圍」對話框中,勾選「選擇性粘貼」部分中的「 全部」選項,然後點擊「確定」按鈕。請參見上面的截圖:
注意:如果您希望保持行高和列寬與原始範圍一致,請在「複製多個範圍」對話框中勾選「包括行高」選項和「包括列寬」選項。
3. 然後在下面的提示框中指定一個單元格來粘貼範圍,然後點擊「確定」按鈕。
現在所有選定的範圍都將被粘貼到指定的單元格中,並且行高和列寬與原始選定範圍相同。
Kutools for Excel - 超過 300 種必備工具,讓 Excel 功能更強大。永久免費享受 AI 功能!立即獲取
從多個工作表/工作簿中複製多個範圍
Kutools for Excel 提供了另一個合併工作表工具,可以輕鬆地從多個工作表或多個工作簿中複製多個範圍。請按照以下步驟操作:
Kutools for Excel - 超過 300 種必備工具,讓 Excel 功能更強大。永久免費享受 AI 功能!立即獲取
1. 點擊 Kutools Plus > 合併。
2. 在打開的「合併工作表 – 第 1 步,共 3 步」對話框中,請勾選「將多個工作表從工作簿合併到一個工作表」選項,然後點擊「 下一步」按鈕。
3. 在「合併工作表 – 第 2 步,共 3 步」對話框中,請按照以下步驟操作:
(1) 在 工作簿列表 部分選擇工作簿,然後點擊每個工作表後面的 瀏覽 按鈕以指定每個工作表中的範圍;
(2) 點擊 添加 按鈕以添加其他包含要複製範圍的工作簿,然後重複上述 (1) 以指定新增工作簿中的範圍。
(3) 點擊 完成 按鈕。
Kutools for Excel - 超過 300 種必備工具,讓 Excel 功能更強大。永久免費享受 AI 功能!立即獲取
4. 然後會彈出一個 Kutools for Excel 對話框詢問是否保存合併方案。根據需要點擊「是 」或「否」按鈕。
到目前為止,所有指定範圍已經從多個工作表或工作簿中被複製並粘貼到一個新的工作簿中。
演示:從一個工作表中複製多個選定範圍
演示:從多個工作簿/工作表中複製多個選定範圍
最佳辦公效率工具
🤖 | Kutools AI 助手:基於智能執行方式革新數據分析:智能執行 | 生成代碼 | 創建自訂公式 | 分析數據並生成圖表 | 調用 Kutools 函數… |
熱門功能:查找、標記重複值或識別重複項 | 刪除空行 | 合併列或單元格而不丟失數據 | 四捨五入無需公式 ... | |
高級 LOOKUP: 多條件 VLookup | 多值 VLookup | 多表查找 | 模糊查找 .... | |
高級下拉列表:快速創建下拉列表 | 依賴下拉列表 | 多選下拉列表 .... | |
列管理器: 添加特定數量的列 | 移動列 | 切換隱藏列的可見狀態 | 比較區域和列 ... | |
特色功能:網格聚焦 | 設計檢視 | 增強編輯欄 | 工作簿與工作表管理器 | 資源庫(自動文本) | 日期提取器 | 合併資料 | 加密/解密儲存格 | 按列表發送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體/斜體/刪除線...) ... | |
頂級 15 種工具集: 12 個文本工具(添加文本、刪除特定字符、...) | 50+ 圖表 類型(甘特圖、...) | 40+ 實用 公式(基於生日計算年齡、...) | 19 個插入工具(插入QR碼、根據路徑插入圖片、...) | 12 個轉換工具(金額轉大寫、匯率轉換、...) | 7 個合併與分割工具(高級合併行、分割儲存格、...) | ... 還有更多 |
使用 Kutools for Excel 提升您的 Excel 技巧,體驗前所未有的高效。 Kutools for Excel 提供超過 300 種高級功能來提高生產力並節省時間。 點擊這裡獲取您最需要的功能...
Office Tab 將標籤式界面帶到 Office,讓您的工作更加輕鬆
- 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中啟用標籤式編輯和閱讀。
- 在同一窗口的新標籤中打開和創建多個文檔,而不是在新窗口中。
- 將您的生產力提高 50%,每天為您減少數百次鼠標點擊!