複数のワークブックを1つのマスターワークブックに統合するにはどうすればよいですか?
Excelで複数のワークブックを1つのマスターワークブックに統合しなければならないときに、詰まってしまったことはありませんか?最も厄介なのは、統合する必要があるワークブックに複数のワークシートが含まれている場合です。そして、複数のワークブックから特定のワークシートのみを1つのワークブックに統合するにはどうすればよいでしょうか?このチュートリアルでは、問題を段階的に解決するのに役立ついくつかの便利な方法を紹介します。
「移動またはコピー」機能を使用して複数のワークブックを1つのワークブックに統合する
統合するワークブックが少数の場合、「移動またはコピー」コマンドを使用して、手動で元のワークブックからマスターワークブックにワークシートを移動またはコピーできます。
1. マスターワークブックに統合したいワークブックを開きます。
2. 元のワークブックで、マスターワークブックに移動またはコピーするワークシートを選択します。
注意:
1). Ctrl キーを押しながらシートタブを1つずつクリックすると、複数の非隣接するワークシートを選択できます。
2). 複数の隣接するワークシートを選択するには、最初のシートタブをクリックし、 Shift キーを押しながら最後のシートタブをクリックしてすべて選択します。
3). 任意のシートタブを右クリックし、コンテキストメニューから「すべて選択 」をクリックして、ワークブック内のすべてのワークシートを同時に選択できます。
3. 必要なワークシートを選択した後、シートタブを右クリックし、コンテキストメニューから「移動またはコピー」をクリックします。スクリーンショットをご覧ください:
4. 「移動またはコピー」ダイアログボックスが表示されます。「To book」ドロップダウンで、ワークシートを移動またはコピーするマスターワークブックを選択します。「Before sheet」ボックスで「末尾に移動」を選択し、「 コピーを作成」ボックスをチェックし、最後に「OK」ボタンをクリックします。
これで、2つのワークブックのワークシートが1つに統合されました。他のワークブックからワークシートをマスターワークブックに移動するために、上記の手順を繰り返してください。
VBAを使用して複数のワークブックまたは指定されたワークシートをマスターワークブックに統合する
複数のワークブックを1つに統合する必要がある場合、次のVBAコードを適用して迅速に実現できます。以下の手順を行ってください。
1. 統合したいすべてのワークブックを同じディレクトリに配置します。
2. Excelファイルを起動します(このワークブックがマスターワークブックになります)。
3. Alt + F11キーを押して Microsoft Visual Basic for Applicationsウィンドウを開きます。Microsoft Visual Basic for Applicationsウィンドウで、「挿入」>「モジュール」をクリックし、以下のVBAコードをモジュールウィンドウにコピーします。
VBAコード1:複数のExcelワークブックを1つに統合する
Sub GetSheets()
'Updated by Extendoffice 2019/2/20
Path = "C:\Users\dt\Desktop\dt kte\"
Filename = Dir(Path & "*.xlsx")
Do While Filename <> ""
Workbooks.Open Filename:=Path & Filename, ReadOnly:=True
For Each Sheet In ActiveWorkbook.Sheets
Sheet.Copy After:=ThisWorkbook.Sheets(1)
Next Sheet
Workbooks(Filename).Close
Filename = Dir()
Loop
End Sub
注意:
1. 上記のVBAコードは、統合後に元のワークブックのシート名を保持します。
2. 統合後にマスターワークブック内のどのワークシートがどこから来たのか区別したい場合は、以下のVBAコード2を適用してください。
3. ワークブックの指定されたワークシートのみをマスターワークブックに統合したい場合、以下のVBAコード3が役立ちます。
VBAコードでは、「C:\Users\DT168\Desktop\KTE\」がフォルダパスです。VBAコード3では、「Sheet1,Sheet3」は統合するワークブックの指定されたワークシートです。必要に応じて変更できます。
VBAコード2:ワークブックを1つに統合する(各ワークシートには元のファイル名のプレフィックスが付きます):
Sub MergeWorkbooks()
'Updated by Extendoffice 2019/2/20
Dim xStrPath As String
Dim xStrFName As String
Dim xWS As Worksheet
Dim xMWS As Worksheet
Dim xTWB As Workbook
Dim xStrAWBName As String
On Error Resume Next
xStrPath = "C:\Users\DT168\Desktop\KTE\"
xStrFName = Dir(xStrPath & "*.xlsx")
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xTWB = ThisWorkbook
Do While Len(xStrFName) > 0
Workbooks.Open Filename:=xStrPath & xStrFName, ReadOnly:=True
xStrAWBName = ActiveWorkbook.Name
For Each xWS In ActiveWorkbook.Sheets
xWS.Copy After:=xTWB.Sheets(xTWB.Sheets.Count)
Set xMWS = xTWB.Sheets(xTWB.Sheets.Count)
xMWS.Name = xStrAWBName & "(" & xMWS.Name & ")"
Next xWS
Workbooks(xStrAWBName).Close
xStrFName = Dir()
Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
VBAコード3:ワークブックの指定されたワークシートをマスターワークブックに統合する:
Sub MergeSheets2()
'Updated by Extendoffice 2019/2/20
Dim xStrPath As String
Dim xStrFName As String
Dim xWS As Worksheet
Dim xMWS As Worksheet
Dim xTWB As Workbook
Dim xStrAWBName As String
Dim xI As Integer
On Error Resume Next
xStrPath = " C:\Users\DT168\Desktop\KTE\"
xStrName = "Sheet1,Sheet3"
xArr = Split(xStrName, ",")
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xTWB = ThisWorkbook
xStrFName = Dir(xStrPath & "*.xlsx")
Do While Len(xStrFName) > 0
Workbooks.Open Filename:=xStrPath & xStrFName, ReadOnly:=True
xStrAWBName = ActiveWorkbook.Name
For Each xWS In ActiveWorkbook.Sheets
For xI = 0 To UBound(xArr)
If xWS.Name = xArr(xI) Then
xWS.Copy After:=xTWB.Sheets(xTWB.Sheets.count)
Set xMWS = xTWB.Sheets(xTWB.Sheets.count)
xMWS.Name = xStrAWBName & "(" & xArr(xI) & ")"
Exit For
End If
Next xI
Next xWS
Workbooks(xStrAWBName).Close
xStrFName = Dir()
Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
4. F5キーを押してコードを実行します。これにより、特定のフォルダ内のすべてのワークシートまたは指定されたワークシートが一度にマスターワークブックに統合されます。
複数のワークブックや指定されたワークシートを簡単に1つのワークブックに統合する
幸いなことに、Kutools for Excelの「Combine workbook」ユーティリティを使用すると、複数のワークブックを1つに統合することが非常に簡単になります。複数のワークブックを統合するためにこの機能をどのように使用するかを見てみましょう。
Kutools for Excel を適用する前に、まずダウンロードしてインストールしてください。
1. 新しいワークブックを作成し、「Kutools Plus」>Combineをクリックします。その後、すべての統合されるワークブックは保存されている必要があり、保護されたワークブックにはこの機能を適用できないことを知らせるダイアログが表示されます。「OK」ボタンをクリックしてください。
2. 「 Combine Worksheets」ウィザードで、「複数のワークブックからワークシートを1つのワークブックに統合」オプションを選択し、「次へ」ボタンをクリックします。スクリーンショットをご覧ください:
3. 「 Combine Worksheets - ステップ2/3」ダイアログボックスで、「追加」>ファイルまたはフォルダをクリックして、統合するExcelファイルを追加します。Excelファイルを追加した後、「完了」ボタンをクリックし、マスターワークブックを保存するフォルダを選択します。スクリーンショットをご覧ください:
これで、すべてのワークブックが1つに統合されました。
上記の2つの方法と比較して、Kutools for Excelには次の利点があります:
- 1) すべてのワークブックとワークシートがダイアログボックスにリストアップされています;
- 2) 統合から除外したいワークシートは、チェックを外すだけです;
- 3) 空白のワークシートは自動的に除外されます;
- 4) 統合後に元のファイル名がシート名のプレフィックスとして追加されます;
- この機能の詳細については、こちらをご覧ください。
このユーティリティを無料で試用したい場合(30日間)、こちらをクリックしてダウンロードし、上記の手順に従って操作を適用してください。
最高のオフィス生産性ツール
🤖 | Kutools AI Aide:データ分析を革新:インテリジェント実行 | コード生成 | カスタム数式の作成 | データを分析してグラフを生成 | Kutools Functions を呼び出す… |
人気機能:重複の検索・ハイライト・マーキング | 空白行を削除 | データを失わず列やセルを統合 | 丸める ... | |
スーパーLOOKUP:複数条件VLOOKUP | 複数値VLOOKUP | 複数シートの検索 | ファジーマッチ .... | |
高度なドロップダウンリスト:すばやくドロップダウンリストを作成 | 依存型ドロップダウンリスト | 複数選択ドロップダウンリスト .... | |
列の管理:特定数の列を追加 | 列を移動 | 非表示列の表示状態を切り替え | 範囲と列の比較 ... | |
注目機能:グリッドフォーカス | デザインビュー | 強化された数式バー | ワークブック&ワークシートの管理 | オートテキスト ライブラリ (Auto Text) | 日付ピッカー | データの統合 | セルの暗号化/復号化 | リスト送信で電子メールを送信 | スーパーフィルター | 特殊フィルタ(太字/斜体/取り消し線でフィルタ...) | |
トップ15ツールセット:12 種類のテキストツール(テキストの追加、特定の文字を削除など) | 50 種以上のグラフ タイプ(ガントチャートなど) | 40を超える実用的な 数式(誕生日に基づいて年齢を計算する、など) | 19種の 挿入ツール(QRコードの挿入、パスから画像の挿入など) | 12種類の 変換ツール(単語に変換する、通貨変換など) | 7つの 結合&分割ツール(高度な行のマージ、セルの分割など) | ...さらに多数 |
Kutools for ExcelでExcelスキルを強化し、かつてない効率を体験しましょう。 Kutools for Excelは300以上の高度な機能で生産性向上と時間短縮を実現します。最も必要な機能を今すぐ取得...
Office TabはOfficeにタブ表示を追加し、作業効率を大幅に向上させます
- Word、Excel、PowerPointでタブ編集とタブ閲覧を有効にします
- 同じウィンドウ内の新しいタブで複数のドキュメントを開いたり作成したりできます。新しいウィンドウを開く必要はありません。
- 生産性が50%向上し、1日に何百回ものマウスクリックも削減できます!