いつもお世話になっております。
ネット上で公開されている転記のマクロについて自分なりに勉強しています。
分からないのは、変数Aには行数だけでなく、データも含まれており、下記の順番で実行されていく
という理解であっているでしょうか。(大まかな流れです。)
@ 転記元シートの対象データ(全体)を選択
A @の2行名から最終行までを選択し変数Aに格納する ※最終行を6と想定。
B 転記先シートのB列の最終行(1,2)を取得し、それを1行下げる(2,2)
B' Bを("2:6",2)にリサイズ(拡大)し変数Aの値を代入
C 転記元ファイル名を代入する
Sub TESTマクロ()
Dim A, B, C
Set B = ThisWorkbook.Worksheets("Sheet1")
'フォルダ内のブック名を取得
C = Dir(ThisWorkbook.Path & "\TEST\*")
Do While C <> ""
'ブックを開く
Workbooks.Open ThisWorkbook.Path & "\TEST\" & C
'データ部分を取得
With ActiveWorkbook.Worksheets("Sheet1").Range("A1").CurrentRegion @
A = .Rows("2:" & .Rows.Count) A
End With
'データを入力
B.Cells(Rows.Count, "B").End(xlUp).Offset(1, 0).Resize(UBound(A, 1), 2) = A B
'ブック名を入力
B.Cells(Rows.Count, "A").End(xlUp).Offset(1, 0).Resize(UBound(A, 1)) = ActiveWorkbook.Name C
ActiveWorkbook.Close False 'ブックを閉じる
C = Dir() '次のブック名を取得
Loop
End Sub