シート

エクセル シートの結合・連結を簡単に解決しました。


エクセルの結合・連結をマスターしましょう!
エクセル 結合 連結 簡単・解決! Homeへ
シート

エクセルのシート結合は、簡単にシートのデータを結合できます。


Sheet1にSheet2,Sheet3・・・・内部のデータを追加します。
Bookにある全てのワークシートをSheet1(最も左のシート)に追加し、結合します。
次の図は、最初の最も左に位置するワークシートです。
3つの項目、名前、身長、体重のみ入力してあります。

シート

上記のSheet1にSheet2,Sheet3を追加し、シートを結合します。
次の図は、左から2番目のワークシートの内容です。

シート

次の図は、左から3番目のワークシートの内容です。

シート

シートの結合は、次のVBAで記述したマクロで行います。

Sub MergeSheets()
Dim ws As Worksheet, intL As Long
For Each ws In Sheets
If (ws.Name <> Worksheets(1).Name) Then
With ws
intL = Worksheets(1).Cells(65536, 1).End(xlUp).Row
If (intL <> 1) Then intL = intL + 1
.Rows("1:" & .Cells(65536, 1).End(xlUp).Row).Copy Worksheets(1).Rows(intL)
End With
If (intL <> 1) Then Worksheets(1).Rows(intL).Delete Shift:=xlUp
End If
Next ws
End Sub

また、シート2,3のテーブルに「名前」を付けた場合、次のVBAコードを使用できます。
テーブルの名前は、項目行からデータの最後の行まで、セル範囲として定義します。
※ データは、セル参照により表示され、255文字を越えるセルに適用できます。

Sub map_area()
k = 1
For Each na In Names
For i = 2 To Range(na).Rows.Count
For j = 1 To Range(na).Columns.Count
Worksheets(1).Range(Cells(i + k - 1, j), Cells(i + k - 1, j)).Formula = "=" & Mid(na.RefersTo, 2, InStr(1, na.RefersTo, "!") - 1) & Range(na).Cells(i, j).Address
Next j
Next i
k = k + Range(na).Rows.Count - 1
Next na
End Sub


さらに、配列数式を使用できます。
VBAを使用し、最初の1番目のシートに残りのシートの「名前」を配列数式として追加入力させました。
このマクロは、Sub 定義とFor Eachループを除き、1行のマクロです。
 (Scala言語で記述すると、1行でシート結合が記述できることが分かります。)
※ ただし、「名前」は、残りの2番目からのシートのデータ範囲に定義されている場合です。

Sub map_array()
For Each na In Names
Worksheets(1).Range(Range(na).Address).Offset(Worksheets(1).UsedRange.Rows.Count - 1, 0).FormulaArray = "=" & Trim(na.Name)
Next na
End Sub


(1) Alt + F11キーを押し、VBEエディターを起動します。
(2) 「挿入」−「標準モジュール」からコードウィンドウを開きます。
(3) 開いたウィンドウへ上記の VBAコードをコピー&ペーストします。
(4) マクロを実行すると、最初のワークシートに残りのシートのデータが追加されます。
(5) マクロの実行方法は、EXCEL2003、2007で異なります。
    エクセル2003以前のバージョンの場合、「マクロ」−「マクロ」で MergeSheetsを選択し、実行ボタンを押します。
    エクセル2007バージョンの場合、「開発」−「マクロ」で MergeSheetsを選択し、実行ボタンを押します。

注意
項目名は、削除され、データのみが追加されます。
最初のシートにデータが入力してある場合、そのデータに続けて残りのデータが追加されます。

次の図は、マクロを実行したSheet1の表示結果です。

シート



excelの結合・連結をマスターしましょう。


エクセル 結合 連結 簡単・解決! Homeへ
posted by Yy at 14:38 | Comment(1) | TrackBack(0) | シート | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
エクセルシートの結合連結
http://excel-merge.seesaa.net/article/131646341.html

エクセルブックファイルの結合連結
http://excel-merge.seesaa.net/article/131646342.html

上記2点の作業をしたいのですが、win10にアップグレードしたために使えません。
何か良い方法はありますか?
Posted by 青木紀子 at 2017年05月10日 12:35
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/131646341

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。