各シートのデータを結合先のシートにコピーして貼り付ける VBA
理解しました。修正したマクロは、各シートのデータの最初から最後までを結合します。
vba
Sub CombineSheets()
Dim ws As Worksheet
Dim combinedSheet As Worksheet
Dim lastRow As Long
Dim targetRow As Long
' 結合先のシートを作成または指定します
Set combinedSheet = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
combinedSheet.Name = "CombinedData"
' 各シートのデータを結合先のシートにコピーして貼り付けます
targetRow = 1 ' 結合先の最初の行
For Each ws In ThisWorkbook.Worksheets
If ws.Name <> combinedSheet.Name Then
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
ws.Range("A1:A" & lastRow).EntireRow.Copy combinedSheet.Cells(targetRow, 1)
targetRow = targetRow + lastRow ' 次の結合先の行を更新
End If
Next ws
End Sub
この修正では、各シートのデータを結合先のシートにコピーする際、それぞれのシートのデータの最初から最後までを取得して結合します。そして、結合先のシートで次の結合先の行を更新します。

ディスカッション
コメント一覧
まだ、コメントがありません