Excelで複数のワークシートにデータをコピーして貼り付けるにはどうすればよいですか?
Excelでのデータのコピーと貼り付けは、ユーザーが頻繁に行う基本的な操作です。単純なタスクの場合、1つのワークシート内で、または2つのシート間でデータをコピーするのは簡単で迅速です。しかし、同じデータを何度も複数のワークシートにコピーしたり統合したりする必要がある場合、手動で行うと退屈で時間がかかる作業になることがあります。このような繰り返し作業に直面して、多くのユーザーは効率的にデータを一括コピー、リンク、またはマージする方法を探しています。このチュートリアルでは、同じコンテンツを複数のシートにコピーする、多くのシートから同じセルを収集する、すべてのデータを1つのワークシートに統合するなど、これらのタスクを効率的に処理するための実用的な解決策をいくつか学びます。これらの解決策は、組み込みのExcel機能を使用するものから、高度なテクニックやアドインを利用するものまで幅広くあります。
複数のワークシートの同じ範囲にデータをコピーして貼り付ける
複数のワークシートから同じセルをコピーして1つのシートに貼り付ける
複数のワークシートからすべてのデータを1つのワークシートにコピーする
「Fill」機能を使用して複数のワークシートの同じ範囲にデータをコピーして貼り付ける
Excelには効率的な「Fill」 > 「Across Worksheets」機能があり、選択したデータブロックを複数のワークシートの同一位置に同時に貼り付けることができます。この方法は、テンプレート、ヘッダー、または定数などの同じ情報を複数のシートに配布したいときに便利です。以下はその使用方法です:
1. 他のワークシートにコピーして貼り付けたい現在のワークシートの範囲を選択します。この範囲が正しく書式設定され、希望するデータが含まれていることを確認してください。
2. ワークブックの下部にあるシートタブバーに移動します。複数のワークシートを選択するには:
- 「Ctrl」キーを押しながらシートを1つずつクリックして、隣接していないシートを選択します。
- 「Shift」キーを押しながら最初のワークシートをクリックし、最後のシートをクリックして、その間のすべてのシートを選択します。

3. 対象となるすべてのシートを選択したら、「ホーム」タブのリボンに移動し、「Fill」 > 「Across Worksheets」をクリックします。このコマンドは、ユーザーが複数のシートにわたる一括操作を実行するのに役立ちます。スクリーンショットをご覧ください:
4. 「Fill Across Worksheets」ダイアログボックスで、貼り付けたいコンテンツの種類を選択します:
- すべて: データ、数式、および書式を一緒にコピーします(完全な複製が必要な場合にお勧め)
- 内容: セルの値と数式のみをコピーし、書式はコピーしません
- 書式: 実際のコンテンツではなく、書式のみをコピーします

元々選択したデータの範囲が、選択したすべてのワークシートの同じ範囲に同時に複製されます。この方法は、部門や月次報告書のシート全体でテンプレートや標準レイアウトを更新する際に理想的です。
ヒントと注意点: この方法は、同じレイアウトや繰り返されるエントリーを同期するのに適しています。ただし、変更される可能性のあるデータや、さまざまなソースからのデータを1つのワークシートにマージする場合には最適ではないかもしれません。また、ワークシート構造が一貫していることを確認してください。そうしないと予期しない結果が発生する可能性があります。「操作を完了できません」という警告を受け取った場合は、すべてのワークシートが保護されていないことと、十分なスペースがあることを確認してください。
VBAコードを使用して複数のワークシートにデータをコピーして貼り付ける
自動化に慣れているユーザー、または標準のExcelツールでは簡単に管理できない定期的なコピー&ペーストタスクを持つユーザーにとって、VBAマクロを使用することでより柔軟性を得ることができます。VBAを使用すると、どのように、どこにデータをコピーして貼り付けるかを正確に定義でき、異なる範囲からコピーする、可変的なシート名に対処する、操作中にカスタムルールを適用するなど、シンプルなシナリオにも複雑なシナリオにも対応できます。
1. 「開発」 > 「Visual Basic」をクリックします。表示されるMicrosoft Visual Basic for Applicationsウィンドウで、「挿入」 > 「モジュール」を選択し、次のVBAコードをモジュールウィンドウに貼り付けます:
Sub CopyRangeToMultipleSheets()
Dim ws As Worksheet
Dim SrcRange As Range
Dim DestRange As Range
Dim SheetName As String
Dim ListOfSheets As Variant
Dim i As Integer
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set SrcRange = Application.Selection
Set SrcRange = Application.InputBox("Select the range to copy:", xTitleId, SrcRange.Address, Type:=8)
ListOfSheets = Application.InputBox("Enter target sheet names separated by commas (e.g. Sheet2,Sheet3):", xTitleId, "", Type:=2)
Application.ScreenUpdating = False
For i = 0 To UBound(Split(ListOfSheets, ","))
SheetName = Trim(Split(ListOfSheets, ",")(i))
If SheetName <> "" Then
Set ws = Worksheets(SheetName)
Set DestRange = ws.Range(SrcRange.Address)
SrcRange.Copy
DestRange.PasteSpecial xlPasteAll
End If
Next i
Application.CutCopyMode = False
Application.ScreenUpdating = True
MsgBox "Copying completed.", vbInformation
End Sub
2をクリックします。 実行ボタン(またはF5キー)を押してマクロを実行します。コピーしたい範囲を選択するよう求められ、その後、ターゲットとなるワークシート名を入力するよう求められます(複数の場合はカンマ区切り)。マクロは、選択されたデータを各指定されたワークシートの同じ範囲にコピーします。
ヒント: マクロを実行する前に、ワークシートが存在し、一致する範囲があることを確認して、空白の貼り付けや上書きエラーを回避してください。常にマクロ後のデータを確認し、コピーが意図した通りに成功したことを確認してください。VBA操作は標準の元に戻すコマンドでは取り消せないため、事前に作業を保存してください。
利点: マクロはカスタムロジックに従う一括操作に対して優れた柔軟性を提供し、複雑なタスクを簡単に繰り返すことができます。この方法は特に、高度なユーザーまたは独自のコピー要件を持つユーザーに適しています。
Kutools for Excelを使用して複数のワークシートから同じセルをコピーする
この方法では、Kutools for Excelの「Dynamically Refer to Worksheets」ツールを紹介します。この機能は、複数の異なるワークシートから同じセル(または範囲)を集めて、新しいまとめワークシートに結果を表示するように設計されています。これは、毎月のチームや店舗ごとの売上などの標準化されたレポートを作成したり、同じ指標を収集したりする際に特に役立ちます。
1. まず、Sheet Tabバーの「新規」ボタンをクリックして、新しいワークシートを作成し、これを要約または目的地とするシートとして使用します。これにより、収集されたデータを個別かつ整理して保持できます。
2. 次に、新しい要約ワークシートでインポートされた値を表示したいセル(例えば、セルD7)を選択します。リボンの「Kutools」タブへ行き、「数式」グループの「その他」をクリックし、「Dynamically Refer to Worksheet」を選択します。スクリーンショットをご覧ください:
3. 「Fill Worksheets References」ダイアログボックスで:
- 「Fill Order」ドロップダウンから適切なオプションを選択—これにより、参照が行ごとまたは列ごとにどのように埋められるかが決まります。
- 「Worksheet List」でデータを取り込むワークシートにチェックを入れます。
- 「Fill Range」ボタンをクリックして選択範囲にそれらのシートからの参照を埋め、その後「閉じる」をクリックして終了します。

各ワークシートの選択したセル(または範囲)の内容が要約ワークシートに動的にリストされ、元のセルが変更された場合でも自動的に更新されます。スクリーンショットをご覧ください:
利点: この方法は、複数のワークシートから同じタイプの情報を定期的に取得する場合に大幅な時間を節約します。また、ソースセルの更新が要約に自動的に反映されることを保証します。
ヒント: 参照されているすべてのワークシートが存在し、ワークブック内に残っていることを確認してください。リンク後にソースシートを削除すると、参照エラーが発生する可能性があります。大規模またはより動的なワークブックを管理する場合、信頼できる要約のために各シートのセル位置の一貫性を考慮してください。
Excelの数式を使用して複数のシート間でデータを参照する
Excelの数式を使用すると、他のワークシートからデータを動的に参照できます。したがって、複数のシートにわたって同じセルまたは範囲から情報を取得することができます。これは、サマリーシート、ダッシュボード、または最新のデータを表示する際に有用です。主要なテクニックにはINDIRECT関数の使用があります。
動的参照にINDIRECTを使用する:
シート名が隣接していない場合や、ワークブック内のシート名リストに基づいて動的に参照を構築したい場合(例:非連続的なシートから特定のセルのデータを取得する場合)、INDIRECT関数は役立ちます。
1. A2:A4(例:Sheet1, Sheet2, Sheet3)にターゲットとなるシート名のリストがあり、B5のセルからそれぞれのシートの値をB2、B3などに取得したいとします。B2に以下を入力します:
=INDIRECT("'"&A2&"'!B5")
この数式をリストに沿って下にコピーします。各セルには、それぞれのシートのB5の値が表示されます。
実践的なヒント: INDIRECTメソッドは動的または非隣接的なシートを処理する上で非常に柔軟ですが、シート名を変更しても参照が自動的に更新されることはありません。
利点: 数式ベースの方法は、サマリーやダッシュボードのデータが常にソースシートのリアルタイムの変更を反映することを保証します。繰り返しのコピー&ペーストを排除しますが、多くのシートを参照する場合は初期設定が少し複雑になる可能性があります。
複数のワークシートからすべてのデータを1つのワークシートにコピーする
複数のワークシートに保存されているすべてのレコードを分析または報告のために1つのシートに統合またはマージする必要がある場合、Kutools for Excelには便利な「Combine (Worksheets)」ユーティリティが提供されています。この方法は、履歴データをコンパイルする、異なる部門からのワークシートをマージする、またはさらなるデータ処理のためのマスターリストを作成する場合に特に適しています。
Kutools for Excel - Excel向けの300以上の必須ツールを搭載。永久に無料のAI機能をお楽しみください!今すぐダウンロード!
1. 「Kutools Plus」 > 「Combine」をクリックして「Combine Worksheets」ダイアログボックスを開きます。この強力なツールは、大規模なワークブックでの複雑な一括操作を簡素化します。
2. ウィザードのステップ1/3で、「複数のワークシートを1つのワークシートに結合する」を選択し、「次へ」をクリックします。スクリーンショットをご覧ください:
3. ステップ2/3で:
- 「Workbook list」セクションで、現在のワークブックのみがチェックされていることを確認します。
- 「Worksheet list」で結合したいすべてのシートを選択します。
- 「同じ範囲」ボタンは、各ワークシートの同じ範囲をすばやく指定するのに役立ち、構造が一貫しているワークブックのセットアップを簡素化します。

4. ステップ3/3では、ヘッダーの処理、空白行の管理、書式設定などの追加設定を調整できます—必要な設定を行って「完了」をクリックします。
5. 結合シナリオを保存するかどうかを尋ねるプロンプトが表示されます。将来再利用する場合は「はい」を、必要ない場合は「いいえ」を選択します。
このユーティリティは、選択されたすべてのワークシートからデータをコピーして統合し、1つの新しいワークシートにまとめ、さらなるデータ分析や報告を1つの統合場所で簡素化します。
注意: Kutoolsはこの種の一括統合を容易にしますが、シート間のデータ構造の変更に注意してください—大きな不整合はマージ結果に影響を与える可能性があります。ベストな結果を得るために、同様の構造を持つワークシートに主にCombine機能を使用してください。
関連記事:
最高のオフィス業務効率化ツール
🤖 | Kutools AI Aide:データ分析を革新します。主な機能:Intelligent Execution|コード生成|カスタム数式の作成|データの分析とグラフの生成|Kutools Functionsの呼び出し…… |
人気の機能:重複の検索・ハイライト・重複をマーキング|空白行を削除|データを失わずに列またはセルを統合|丸める…… | |
スーパー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でタブによる編集・閲覧を実現。
- 新しいウィンドウを開かず、同じウィンドウの新しいタブで複数のドキュメントを開いたり作成できます。
- 生産性が50%向上し、毎日のマウスクリック数を何百回も削減!
全てのKutoolsアドインを一つのインストーラーで
Kutools for Officeスイートは、Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proをまとめて提供。Officeアプリを横断して働くチームに最適です。





- オールインワンスイート — Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proが含まれます
- 1つのインストーラー・1つのライセンス —— 数分でセットアップ完了(MSI対応)
- 一括管理でより効率的 —— Officeアプリ間で快適な生産性を発揮
- 30日間フル機能お試し —— 登録やクレジットカード不要
- コストパフォーマンス最適 —— 個別購入よりお得