удалить одну ячейку из диапазона - PullRequest
1 голос
/ 02 июля 2019

Я хочу удалить первую ячейку столбца H таблицы, установленной как rng8, и поместить новый объект в rng9. Ячейка, которую я хочу исключить, является заголовком столбца. Я использую команды ниже, но они не работают

Set rng8 = Sheets(firstsheetname).Range("H:H") 

Set rng9 = rng8.Offset(1, 0).Resize(rng8.Rows.Count - 1, rng8.Columns.Count)

1 Ответ

5 голосов
/ 02 июля 2019

Вы столкнулись с ошибкой, потому что при попытке сместить весь столбец на одну строку вниз, дальнейшая строка отсутствует (поскольку вы выбрали весь столбец).
На основе только вклВаш вопрос и код, это работает:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...