Вы столкнулись с ошибкой, потому что при попытке сместить весь столбец на одну строку вниз, дальнейшая строка отсутствует (поскольку вы выбрали весь столбец).
На основе только вклВаш вопрос и код, это работает:
Set rng8 = Sheets(firstsheetname).Range("H:H")
Set rng9 = rng8.Cells(1,1).Offset(1, 0).Resize(rng8.Rows.Count - 1, rng8.Columns.Count)
На самом деле, если вам на самом деле не нужно rng8
, то вы можете установить rng9 таким образом:
With Sheets(firstsheetname)
Set rng9 = .Range("H2:H", & .Rows.Count)
End With
Однако, как кто-то прокомментировал, если вы заинтересованы только в настройке последней использованной строки столбца H, используйте эту команду:
With Sheets(firstsheetname)
Set rng9 = .Range("H2", .Range("H" & .Rows.Count).End(xlUp))
End With