複数のワークブックを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 アシスタント: データ分析を革命化する: インテリジェント実行 | コード生成 | カスタム数式の作成 | データを分析しグラフを生成 | 拡張機能を呼び出す… |
人気の機能: 重複を見つけてハイライトまたはマーキング | 空白行を削除 | データを失わずに列またはセルを統合 | 丸める ... | |
スーパー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、Publisher、Access、Visio、Projectでタブ付きの編集と読み取りを有効にします。
- 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
- 生産性を50%向上させ、毎日数百回のマウスクリックを減らします!