#author("2023-04-25T11:41:06+09:00","","") #author("2023-05-01T13:04:47+09:00","","") [[自分用のpukiwiki]] 複数シートのデータを「全データ」シートへコピーする 元データがあるシートは「全データ」の右側にあるシートから順番にデータをコピーします。 このコード内から sh_check を実行していますので、 上記の sh_checkのコード も記載する必要があります。 Sub matome() Dim i As Integer Dim lRow As Long, lCol As Long, lRow2 As Long Application.ScreenUpdating = False '----全データシートの有無をチェックします sh_check '----列見出しをコピーします Worksheets(2).Range("1:1").Copy Worksheets(1).Range("A1") For i = 2 To Worksheets.Count With Worksheets(i) lRow = .Cells(Rows.Count, 1).End(xlUp).Row lCol = .Cells(1, Columns.Count).End(xlToLeft).Column '----シートのデータが2行以上の場合にコピーします If lRow >= 2 Then lRow2 = Worksheets(1).Cells(Rows.Count, 1).End(xlUp).Row + 1 .Activate .Range(Cells(2, 1), Cells(lRow, lCol)).Copy Worksheets(1).Cells(lRow2, 1) End If End With Next i Worksheets(1).Activate Range("A1").Select Application.ScreenUpdating = True End Sub セルをそのままコピーしていますので、数式などを含む場合には不都合があるかもしれません。 貼り付け時に値の貼り付けを行う場合は Range(Cells(2, 1), Cells(lRow, lCol)).Copy Worksheets(1).Cells(lRow2, 1)