Обновление: Я понял, что не могу использовать объединение на нескольких листах.Какой лучший выбор у меня тогда?
Я просто хочу объединить все листы в рабочей книге в первый лист.
После того, как я прошел через существующие вопросы, я попытался добавить Наборrng = ничего, чтобы очистить мой диапазон, но это не помогло.
Sub Combine()
Dim J As Long
Dim Combine As Range
Dim rng As Range
'I want to start from the second sheet and go through all of them
For J = 2 To Sheets.Count
With Sheets(J)
Set rng = .Range("A1", .Range("A" & .Rows.Count).End(xlUp))
End With
For Each Cell In rng
If Combine Is Nothing Then
Set Combine = Cell.EntireRow
Else
Set Combine = Union(Combine, Cell.EntireRow)
End If
Next Cell
Set rng = Nothing
Next J
'Paste the whole union into the 1st sheet
Combine.Copy Destination:=Sheets(1).Range("A1")
End Sub
Весь этот код вызывает у меня ошибку Метод 'Объединение' объекта '_Global fail *
Обновление 2
Sub Combine2()
Dim rowcount As Long
For Each Sheet In Sheets
If Sheet.Index <> 1 Then
rowcount = Sheet.UsedRange.Rows.Count
Sheet.UsedRange.Copy Destination:=Sheets(1).Cells(Lastrow + 1, 1)
Lastrow = Lastrow + rowcount
End If
Next Sheet
End Sub
Действительно простой код, отлично сработал, спасибо @luuklag за подсказку.