クッキーは、私たちは私たちのサービスを提供するのに役立ちます。 当社のサービスを使用することで、クッキーの我々の使用に同意するものとします。
ヒント:他の言語はGoogle翻訳されています。 訪問することができます English このリンクのバージョン。
ログイン
x
or
x
x
登録
x

or

Excelで複数のワークブックを1つのワークブックに結合する方法は?

Excelで複数のワークブックを1つのワークブックにまとめなければならないときは、これまでに悩んだことはありますか? 最も恐ろしいことは、結合する必要のあるワークブックに複数のワークシートが含まれていることです。 誰もこの問題を処理する良い方法を提案することができますか?

複数のブックをVBAで1つのブックに結合する

MoveまたはCopyコマンドで複数のブックを1つのブックに結合する

Kutools for Excelを使用して複数のワークブックを1つのワークブックに簡単に結合


複数のワークシート/ワークブックを1つのワークシート/ワークブックに簡単に結合:

複数のワークシートまたはワークブックを1つのワークシートまたはワークブックにまとめることは、日々の作業において巨大な作業になる可能性があります。 しかし、もしあなたが Kutools for Excel、その強力なユーティリティ - 組み合わせる 複数のワークシート、ワークブックを1つのワークシートまたはワークブックにすばやく結合するのに役立ちます。 今すぐExcelのKutoolsのフル機能60日無料トレイルをダウンロードしてください!

Kutools for Excel200便利なExcelアドイン以上で、60日に制限なく試してみることができます。 今すぐダウンロードして無料トライアル!


複数のブックをVBAで1つのブックに結合する

熟練したプロのプログラマーにとっては、VBAスクリプトを使用して複数のワークブックを1つのマスターワークブックにまとめることができます。 次の手順でこれを処理できます。

1。 結合するすべてのブックを同じディレクトリに配置します。 スクリーンショットを見る:

2。 他のワークブックを結合するExcelファイルを起動します。

3に設定します。 OK をクリックします。 ディベロッパー > ビジュアルベーシック、新しいです アプリケーション用のMicrosoft Visual Basic ウィンドウが表示されます。 インセット > モジュールモジュールに次のコードを入力します。

Sub GetSheets()
Path = "C:\Users\dt\Desktop\dt kte\"
Filename = Dir(Path & "*.xls")
  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

先端:上記のコードでは、使用しているパスに変更することができます。

4。 次に、をクリックします doc-merge-multiple-workbooks-button ボタンを押してコードを実行し、ワークブック内のすべてのワークシート(空白のワークシートを含む)がマスターブックにマージされていることを確認します。

:このVBAコードは、ブック全体のブックをマージすることができます。ワークブックの指定されたワークシートを結合する場合、このコードは機能しません。


MoveまたはCopyコマンドで複数のブックを1つのブックに結合する

あなたがMicrosoft Excelの新人ならば、選択肢はありませんが、すべてのシートのデータをコピーし、新しいブックに1つずつ貼り付けて、移動またはコピーコマンドを適用するだけです。 を使用する 移動またはコピー コマンドを使用すると、1つまたは複数のワークシートを新しいワークブックにすばやくエクスポートまたはコピーできます。

1。 単一のブックにマージするすべてのブックを開きます。

2。 タブバーのブックのワークシート名をすべて選択します。 押さえながら複数選択できます Ctrlキー キーまたは シフト キー。 ワークシート名を右クリックし、 移動またはコピー コンテキストメニューから

3。 に 移動またはコピー ダイアログボックスで、ドロップダウンリストから他のブックをマージするマスターブックを選択します。 選択したシートをブックに移動する。 そして、マージされたワークシートの場所を指定します。 スクリーンショットを参照してください:

4。 次に、をクリックします OK。 選択したワークシートは、マスターブックに移動されました。

5。 他のブックをマスタブックに移動するには、2から4までの手順を繰り返します。 次に、開いているワークブックのすべてのワークシートを1つのワークブックにまとめます。 スクリーンショットを参照してください:


Kutools for Excelを使用して複数のワークブックを1つのワークブックに簡単に結合

幸運なことに、ルーキーやMicrosoft Excelの新しい手には、何百ものブックを素早く組み合わせるのに役立つツールがいくつかあります。 関数 組み合わせる in Kutools for Excel 複数のExcelファイルを簡単に結合することができます。 このアプリケーションは、Excelで反復操作と冗長操作を解放するために使用されます。 毎日の作業で大量のExcelファイルを処理する必要がある場合は、実際には重要な役割を果たします。 さて、この機能を複数のワークブックを組み合わせて動作させる方法を見てみましょう。

Kutools for Excel :300以上の便利なExcelアドイン、 60日以内に自由に試してみてください.

1。 Excelを有効にしてをクリックします Kutools Plus > 組み合わせる。 ダイアログが表示され、結合されたすべてのワークブックを保存し、その機能を保護されたワークブックに適用できないことを通知します。 OK ボタン。

2。 の中に ワークシートの結合 ウィザード、選択 ワークブックの複数のワークシートを1つのワークブックに結合する、をクリックします。 ボタン。 スクリーンショットを見る:

2。 次に、開いているワークブックとワークシートがすべて表示されます。 ワークシートの結合 - 2のステップ3 ダイアログボックス。 クリック Add をクリックします。 > フィレット / フォルダ 結合するExcelファイルを含む他のExcelファイルまたはフォルダを追加します。 ファイルを選択したら、 ボタンを押してください。 スクリーンショットを見る:

doc複数のワークブックをマージするarrow1

3。 の中に ワークシートの結合 - 3のステップ3 ダイアログボックスで、以下の設定を行ってください。

  • 3.1すべての空のワークシートをマージから除外することができます。 スキップ から 空白のワークシートに遭遇したとき ドロップダウンリスト。
  • 3.2 各ワークシートの最初の行(コメント) すべての結合ワークシートのワークシート情報を挿入するオプション。
  • 3.3元のワークシート名の前後にワークブック名​​を挿入するか、または元のワークシート名をそのままチェックして、新しいワークシート名を変更することができます ブック名を挿入する オプションを選択します。
  • 3.4 仕上げ ボタン。

4。 結合したワークブックを保存するフォルダを選択し、必要に応じて直接開いてください。 今すぐ指定されたすべてのブックが1つに統合されます。

ノート:

1。 このシナリオを保存するかどうか尋ねられます。 クリック はい 必要に応じて保存し、シナリオの名前を入力します(次のスクリーンショットを参照)。 シナリオを保存したら、クリックするだけです シナリオ ボタンをクリックしてstep2ウィザードでシナリオの名前を選択し、直接使用します。

2。 選択したワークブックのワークシートが新しいワークブックにマージされ、ワー​​クシートの名前の前または後にワークブック名​​が付けられます。 ブック名を挿入する オプション。 一方、新しいワークシート Kutools for Excel すべてのワークシートの前に生成されます。すべてのワークシートは、各ワークシートの詳細情報を含むブックをリストします。 スクリーンショットを見る:

3. ワークシート名が長すぎると、名前文字が31文字より大きい場合もあります。結合された名前は表示されず、元のシート名のみが表示されます。

先端。このユーティリティの無料トライアルをご希望の場合は、 自由にソフトウェアをダウンロードする まず、上記の手順に従って操作を行ってください。


Office Tab Excelでのブックのブラウズ、編集、および管理:

Officeタブは、Google Chrome、Internet Explorerの新しいバージョン、FirefoxからMicrosoft ExcelなどのWebブラウザで見られるようにタブ付きのインターフェイスを提供します。 それは時間を節約するツールとなり、あなたの仕事には変わりません。 以下のデモをご覧ください:

Officeタブの無料トライアルをクリックしてください!

Excel用のOfficeタブ

デモ:Kutools for Excelを使用して複数のワークブックを1つのワークブックに簡単に結合




関連記事:



推奨生産性ツール

Office Tab

金星1 Chrome、Firefox、新しいInternet Explorerと同様に、Excelやその他のOfficeソフトウェアに便利なタブを持たせる。

Kutools for Excel

金星1 素晴らしい! 5分で生産性を向上させます。 特別なスキルは必要ありません。毎日2時間節約できます!

金星1 300 Excelの新機能は、Excelを非常に簡単かつ強力にする:

  • データを失うことなくセル/行/列をマージします。
  • 複数のシートとブックを結合して統合する。
  • 範囲を比較し、複数の範囲をコピーし、テキストを日付、単位、通貨の変換に変換します。
  • 色数、ページング小計、高度なソートとスーパーフィルター、
  • 詳細選択/挿入/削除/テキスト/書式/リンク/コメント/ワークブック/ワークシートツール...

Kutools for Excelのスクリーンショット

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Dezignext Technologies · 3 days ago
    I like using this technique better than using traditional "3D Formula" techniques in Excel.
  • To post as a guest, your comment is unpublished.
    Jonel · 1 months ago
    Note: This VBA code can merge the entire workbooks into the master workbook, if you want to combine specified worksheets of the workbooks, this code will not work.

    Can we have the module for VBA that above scene will work,
    • To post as a guest, your comment is unpublished.
      crystal · 1 days ago
      Hi Jonel,
      The following code can help you solve the problem. You need to replace folder path and "Sheet1, Sheet3" with the specified folder path and worksheets as you need.

      Sub MergeSheets2()
      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
  • To post as a guest, your comment is unpublished.
    Chris · 2 months ago
    When I run this, each sheet in the new workbook is being named based off of the sheet names of the original document rather than the filenames. Any idea what I might be doing wrong?
    • To post as a guest, your comment is unpublished.
      crystal · 1 days ago
      Hi Chris,
      If you want to distinguish which worksheets in the master workbook came from where after merging, please apply the below VBA code to solve the problem.

      Sub MergeWorkbooks()
      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
  • To post as a guest, your comment is unpublished.
    Owen · 5 months ago
    It didnt work for me then I realized my files are .xlsx, so added the missing "x" to the Filename line.
  • To post as a guest, your comment is unpublished.
    Justin · 8 months ago
    This worked for me but I had to make sure I have to put "\" at the end of my path. Initially, I didn't have it and it wouldn't work.