各ワークシートに同じ構造のデータがあるワークブックを入手する場合は、複数のワークシートを1つの大きなワークシートに結合する方法に興味があるかもしれません。

凝縮を行う背後にある概念はかなり簡単です。2番目以降のワークシートから最初のワークシートの最初の空の行にデータをコピーするだけです。幸い、Excelには、まさにこのプロセスを実行できる機能である統合ツールが含まれています。

統合ツールを使用すると、データが位置またはカテゴリによって定義されているワークシートを組み合わせることができます。位置とは、データがすべてのワークシートで同じ位置にあることを意味します。たとえば、各ワークシートのデータテーブルにまったく同じ列がある場合は、位置ごとに統合します。カテゴリとは、データが一貫した構造を使用していない可能性のあるテーブルのデータを結合することを意味します。データテーブルの列の順序が異なる場合は、このタイプの統合を使用します。

ワークシートを統合するワークブックで、データ|を選択します。統合します。 Excelに[統合]ダイアログボックスが表示されます。 (図1を参照)

ダイアログボックスには多くのコントロールがありますが、心配する必要がある主なことは、統合する範囲を指定することです。

image

図1. [統合]ダイアログボックス。

[参照]ボックスを使用して範囲を指定します。統合する最初の範囲をボックスに指定します。位置で連結する場合、参照には列ラベルを含めないでください。カテゴリ別の場合は、そうする必要があります。範囲参照を指定する場合は、[追加]をクリックすると、その参照が[すべての参照]リストに表示されます。すべてが完了するまで、基準範囲を定義し続けます。

統合データに元のデータへのリンクを含める場合は、[ソースデータへのリンクを作成する]チェックボックスがオンになっていることを確認します。それ以外の場合はオフにします。次に、[OK]をクリックして統合を実行できます。

[統合]ダイアログボックスには他のコントロールがあることに注意してください。上記のコントロールは、少なくとも注意を払う必要があるコントロールです。他の人が何をしているのかを知る最良の方法は、いくつかの統合を行って、他の人と遊んでみることです。

統合ツールを使用したくない場合は、各ワークシートの構造が同じであれば、統合を実行するマクロを簡単に作成できます。次のマクロは、すべてのワークシートをステップスルーし、ワークブックの先頭に追加する新しいワークシートにデータを結合します。

Sub Combine()

Dim J As Integer

On Error Resume Next     Sheets(1).Select     Worksheets.Add ' add a sheet in first place     Sheets(1).Name = "Combined"



' copy headings     Sheets(2).Activate     Range("A1").EntireRow.Select     Selection.Copy Destination:=Sheets(1).Range("A1")



' work through sheets     For J = 2 To Sheets.Count ' from sheet 2 to last sheet         Sheets(J).Activate ' make the sheet active         Range("A1").Select         Selection.CurrentRegion.Select ' select all cells in this sheets

' select all lines except title         Selection.Offset(1, 0).Resize(Selection.Rows.Count - 1).Select

' copy cells selected in the new sheet on last line         Selection.Copy Destination:=Sheets(1).Range("A65536").End(xlUp)(2)

Next End Sub

マクロが完了すると、Combinedという名前のブックの最初のシートに、他のワークシートのすべてのデータが含まれます。他のワークシートは変更されません。

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

link:/ excelribbon-ExcelTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(3005)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。

link:/ excelribbon-Condensing_Multiple_Worksheets_Into_One [複数のワークシートを1つに凝縮]