Excel で複数の選択範囲や範囲をコピーするには、どうすればよいですか?
日常的なExcel 作業では、大きなワークシート内に散在するデータの一部(非連続ブロック)が必要になることがよくあります。たとえば、特定の表、列、または離れた位置にあるセルを一度にコピーし、別のワークシートにまとめて転記したい場面が頻繁に発生します。しかし、複数の非連続範囲を同時に選択してコピーしようとすると、Excel は「このコマンドは複数の選択範囲に対して使用できません」という警告を表示します。これは非常に煩わしく、Excel の標準機能だけでは分散したデータの集約や再配置が手間になります。では、複数の範囲を選択して素早くコピーする効果的な方法にはどのようなものがあるでしょうか?本ガイドでは、いくつかの実用的な解決策を紹介し、それぞれの方法のメリット、適用可能なシナリオ、注意点を詳しく解説することで、こうした一般的なスプレッドシート作業をより効率的にこなせるようサポートします。
- クリップボードで複数の範囲を選択してくださいをコピー
- VBA コードで複数の範囲を選択してくださいをコピー
- 1 つのワークシートから複数の範囲を選択してくださいをコピー
- 複数のワークシート/ワークブックから複数の範囲のコピーをコピー
- Excel 数式を使用して複数の範囲をコピーおよび統合
クリップボードで複数の範囲を選択してくださいをコピーする
Excel に標準搭載されているクリップボード機能は見過ごされがちですが、ワークシート内の複数のコンテンツ断片をまとめて管理できます。クリップボードペインを使えば、異なる場所から順番にコンテンツをコピーして一か所に集め、目的のワークシート上の任意の場所に一度に貼り付けることが可能です。この方法は、ビジュアルコンテンツや図形、小さな選択範囲を集めるのに最適ですが、Excel はこれらを個別のコピー操作として扱うため、貼り付け時に書式や構造が常に一貫しているとは限りません。以下の手順と注意点をご確認ください。
1。「ホーム」タブのホーム>
リボンにあるクリップボードグループの右下にあるクリップボードペインを表示します。(通常、Excel のリボンのこの位置にあります。)スクリーンショットを参照してください。
2。必要な範囲を1 つずつコピーしてください。各コピー後、選択したコンテンツがクリップボードペイン(左側)に個別のアイテムとして表示されます。統合したいすべての範囲についてこの操作を繰り返しましょう。貼り付ける前に、クリップボードリストを確認し、必要な範囲がすべてキャプチャされていること、および意図しないコピーが削除済みであることをご確認ください。
3。ワークシートに移動して、コピーした範囲を集約したいセルを選択します。クリップボードペインですべて貼り付けをクリックすると、収集したすべてのアイテムが一度に貼り付けられます。
クリップボード経由で貼り付けると、コンテンツはデフォルトで縦方向に積み重ねられます。そのため、テーブルやリストなど特定の構造でデータを整列させる必要がある場合は、貼り付け後に調整が必要になる場合があります。また、クリップボードには最大24 個のアイテムまで保存可能ですが、これを超えると最も古いアイテムが自動的に上書きされます。大切なデータを誤って上書きしないよう、必ず貼り付け先の領域が空であることをご確認ください。
複数のワークシート/ワークブックから簡単に複数の選択範囲を1 つのワークシート/ワークブックに統合
多数のシートやワークブックからコンテンツを集約・統合する必要がある場合、手作業でコピーペーストを繰り返すのは面倒でミスも起こりやすく、時間もかかってしまいます。特に大規模なデータ集約では、その手間とリスクが顕著です。Kutools for Excel のCombine(worksheets and workbooks)ユーティリティを使えば、複数のシートやワークブックを効率よく一か所に統合でき、手作業を最小限に抑えながらもデータ構造をしっかり維持できます。月次レポート、部門横断的なデータ要約、履歴データの統合などに最適です!

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。結合した範囲を貼り付ける先頭セル(左上)を指定するよう促す入力ボックスが表示されます。内容を確認したら、OKをクリックしてください。
注意事項とトラブルシューティング:この VBA コードは、コピーした選択範囲を指定した貼り付け先の左上から配置します。データが上書きされる可能性があるため、ご注意ください。貼り付け先が空でない場合は、警告が表示されます。「サブスクリプトが範囲外です」などのエラーメッセージが表示されたら、選択範囲がすべてセル範囲で構成されているか確認してください。なお、この方法では図形やグラフなどセル以外のアイテムはコピーできません。コピーされるのは値とセルの書式のみで、オブジェクトは含まれません。
1 つのワークシートから複数の範囲を選択してくださいを素早くコピーする
Kutools for Excel は、より効率的なソリューションとして範囲のコピーツールを提供しています。このツールを使えば、ワークシート内で必要なすべての範囲を一度に選択し、たった1 回の操作でコピー可能!直感的なインターフェースで、貼り付け内容をきめ細かくカスタマイズできます—全コンテンツ、数式のみ、値のみ、書式のみなど、自由に選択可能。さらに、必要に応じて行の高さや列の幅もそのまま保持できるため、時間を大幅に節約し、書式の一貫性を簡単に維持できます。
Kutools for Excel— 300 以上の必須ツールでExcel を強化し、作業をより迅速・簡単に。AI 機能を活用して、スマートなデータ処理と生産性の飛躍的な向上を実現します。今すぐ入手
1。Ctrlキーを押しながら、コピーしたい範囲を1 つずつ選択し、Kutools>範囲のコピーをクリックしてください。詳しくはスクリーンショットをご確認ください。
2。複数の範囲のコピーダイアログボックスで、すべてを特殊貼り付けオプションから選択し、特殊貼り付けをクリックして確定します。ここでさらに貼り付け設定をカスタマイズできます—たとえば値のみを貼り付ける、またはすべての書式を含めるなど。OK。
注:すべての範囲で元の行の高さと列の幅を保持するには、行の高さを含めるおよび列の幅を含めるオプションにチェックを入れてから、OKをクリックしてください。この設定は、テンプレート作成や見た目にこだわったクリーンなレポート作成など、フォーマットの正確性が重要な場面で特に役立ちます。
3。表示される貼り付け先選択ボックスで、貼り付け範囲の先頭となる左上のセルを指定し、OKをクリックします。
選択したすべての範囲が連続して貼り付け先に配置され、必要に応じて元のサイズがそのまま維持されます。この方法なら、手作業でコピーペーストを繰り返す手間を省き、高速かつ柔軟にワークフローに合わせた貼り付けが実現できます。
複数の範囲のコピーユーティリティの詳細についてはこちらをクリックしてください
Kutools for Excel— 300 以上の必須ツールでExcel を強化し、作業をより迅速・簡単に。AI 機能を活用して、スマートなデータ処理と生産性の飛躍的な向上を実現します。今すぐ入手
複数のワークシート/ブックから複数の範囲のコピーをコピーする
複数のワークシートや異なるワークブックに散らばったデータをまとめて集約するのは、要約レポートやデータ分析を作成する際に頻繁に求められる作業です。これを手作業で行うと時間がかかる上、特に大容量ファイルを扱う場合にはミスも起こりやすくなります。Kutools for Excelは、ワークシートの統合ユーティリティを提供しており、複数のシートやワークブックから指定範囲のデータをコピーする作業を、シンプルでわかりやすいガイド付きプロセスに変えてくれます。このツールは、月次集計、アンケート結果の統合、請求データのマージなど、データが複数のソースに分散しているあらゆるタスクに最適です。
Kutools for Excel— 300 以上の必須ツールでExcel を強化し、作業をより迅速・簡単に。AI 機能を活用して、スマートなデータ処理と生産性の飛躍的な向上を実現します。今すぐ入手
1。まず、Excel リボン上でKUTOOLS PLUS > 結合をクリックします。
2。「ワークシートの統合 – ステップ 1 / 3」ダイアログボックスで、複数のワークシートを1 つのワークシートに統合するを選択し、次へをクリックしてください。
3。ステップ 2 / 3 では、以下の操作を行います。![]()
(1) ワークブックリストで対象のブックを選択し、各シート横にある
参照ボタンをクリックして、必要な範囲を正確に指定します。
(2) 追加のブックを含めるには、追加をクリックし、(1) の「範囲を指定する」手順を追加ファイルに対して繰り返します。
(3) 全ての選択を確認したら、完了をクリックします。
Kutools for Excel— 300 以上の必須ツールでExcel を強化し、作業をより迅速・簡単に。AI 機能を活用して、スマートなデータ処理と生産性の飛躍的な向上を実現します。今すぐ入手
4。今後の使用に備えて設定をシナリオとして保存するかどうか確認するプロンプトが表示されます。「はい」をクリックして保存するか、「いいえ」をクリックして保存せずに続行してください。
処理が完了すると、さまざまなシートまたはブックに含まれるすべての制限された範囲が自動的に収集され、新しいワークシートまたはブック内に配置されます。これにより、繰り返し手動でコピー&ペーストする手間が省け、データ構造を維持したまま分散情報を大幅に高速で集約できます。
Excel 数式を使用して複数の範囲をコピーおよび統合
VBA やクリップボードを使わずに非連続範囲の内容を単一のリストやサマリーに集約したいユーザーにとって、Excel の数式は非常に役立ちます。特に、複数の列やリストからすべてのデータを1 か所のサマリーエリアにまとめるなど、構造化されたデータセットを扱う際に最適です。以下は、そのような場面で活用できる実用的な数式の例です。
1。たとえば、範囲 A1:A5およびC1:C5のデータをセルE1から始まる1 列に結合したい場合は、E1に次の数式を入力します。
=VSTACK(A1:A5, C1:C5) 2。Enterキーを押して確定すると、両方の範囲にあるすべての値が E1 セル以降に縦に並びます。他の場所にある複数の非隣接範囲のデータをサマリー範囲にまとめる必要がある場合は、VSTACK 関数内の範囲を変更するだけで簡単に対応できます。
- VSTACK 関数は、Microsoft 365 用Excel、Microsoft 365 for Mac、およびExcel のウェブ版でのみご利用いただけます。
- お使いのExcel バージョンが
VSTACKをサポートしていない場合、次の数式を使って範囲をコピーできます。以下は、A1:A5とC1: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までフィルハンドルをドラッグしてください。すると、最初の5 つの値がA1:A5から、続く5 つの値がC1:C5から1 列にまとめて表示されます。ソースデータに応じて、範囲のサイズやセル参照を適宜調整してください。
注意事項:これらの数式は静的なデータ集計には最適ですが、元の範囲から書式、数式、グラフ、または結合セルを引き継ぐことはできません。リストやシンプルな表の集計に最も適しています。#REF!のようなエラーが表示された場合は、範囲の境界を再度ご確認ください。
複数の範囲を扱う際は、常に選択内容を再確認し、特に VBA スクリプトやアドインを動作中のブックで実行する場合は、事前にバックアップを作成することを強くおすすめします。予期しない貼り付け結果が発生した場合は、元データの書式と貼り付け先の構造を今一度ご確認ください。Kutools for Excel はこうした作業をよりシンプルかつ確実に行えるよう設計されており、安定性の高いツールを提供します。使用頻度に応じて、最適な方法をぜひご検討ください。たまに使う程度であれば、クリップボード機能やExcel の数式で十分ですが、大規模な作業を頻繁に行う場合は、VBA やKutools のユーティリティが最も便利で正確です。
デモ:1 つのワークシートから複数の範囲を選択してくださいをコピーする
デモ:複数のブック/ワークシートから複数の範囲を選択してくださいをコピーする
最高の Office 業務効率化ツール
| 🤖 | KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート生成| 拡張機能呼び出し… |
| 人気の機能:検索・ハイライト、または重複をマーキング | 空白行を削除する | データを失うことなく列の結合またはセルを | 数式を使用しない四捨五入... | |
| スーパー LOOKUP:複数条件 VLookup | 複数値 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%も向上させ、毎日数百回ものマウスクリックを削減します!
すべてのKutools アドインが、たった1 つのインストーラーで完結。
Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。
- オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
- インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
- 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
- 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
- 最高のお得感— 個別アドイン購入よりお得