Похоже, вам нужно сбросить rng
на Nothing
, прежде чем переходить к следующему листу:
...
Next column
rng.ClearContents
Set rng = Nothing
...
Чтобы расширить мои комментарии:
Когда вы попали на Sheet2, ваша первая итерация этого цикла
If rng Is Nothing Then
Set rng = ActiveCell.Offset(row, column)
Else
Set rng = Union(rng, ActiveCell.Offset(row, column))
End If
Идет прямо к Set rng = Union(rng, ActiveCell.Offset(row, column))
, потому что rng
не был сброшен до Nothing
. Затем он пытается Union
на двух листах, что вы не можете сделать.