|
ブックの構成
●1枚目:使わないシート
●2枚目〜8枚目:縦に結合したいシート
それぞれ同じフォーム「A5〜F15にデータあり」
ただし、5行目はタイトル行
したいこと
●2枚目〜8枚目を縦に結合したい。
●タイトル行は先頭のみ必要
という前提で以下のコードを書きました。
しかし、A列の左に1列追加して(罫線などの書式はA列と同じ)
シート名を各行のA列として縦にくっつけたいという要望がありました。
これに対応したいのですが、どう書いていいのか分かりません。
●1列追加のところはチャレンジしたましたが、エラーが出ました。
●シート名を各行のA列として縦にくっつける部分は全く分かりません。
申し訳ないですが、プログラムを教えてもらえないでしょうか?
よろしくお願いします。
Sub 結合()
Dim Worksheet As Worksheet
Dim DATA1 As Range, DATA2 As Range
Dim i As Integer
'入力ボックスにてシート名前、出力先、出力データセットを入力する。
'先頭にシートを作成する
Sheets(3).Copy before:=Sheets(1)
Sheets(1).Name = "縦結合"
'最初にデータセットを出力する位置を設定する
Set DATA1 = Worksheets("縦結合").Range("A6")
For i = 3 To Worksheets.Count
'結合したいデータセットをDATA2として読み込む。
Set DATA2 = Sheets(i).Range("A6:F15")
'DATA1をDATA2とする。
DATA2.Copy DATA1
'次のデータセットを出力する位置を設定する。
Set DATA1 = DATA1.Offset(DATA2.Rows.Count)
Next
'A列をコピーして挿入する
Sheets(1).Range("A").Copy
Sheets(1).Range("B").Insert
'データセットをリセットする。
Set DATA1 = Nothing
Set DATA2 = Nothing
End Sub
|
|