rowindex с использованием переменных вместо жесткого кодирования - PullRequest
0 голосов
/ 28 февраля 2019

Я пишу немного VBA, чтобы удалить непрерывный диапазон строк в таблице.Я нашел несколько примеров того, как удалять строки, и большинство из них были для выбранной строки, или выборка не смежных строк.В этом вопросе было задано циклическое прохождение и удаление по одной строке за раз, что сработало бы.В другом примере у них была следующая строка, которая делала все это за один выстрел

rows("4:8").delete

Теперь это показалось мне идеальным.Моя стартовая строка установлена ​​как переменная, а последняя строка установлена ​​как переменная.

DIM First_Row as integer
DIM Last_Row as integer
    First_Row = 14
    Last_Row = First_Row + Application.worksheetfunction.MAx(Range("B:B")) -1

    Rows(First_Row:Last_Row).delete

'That last line is not working


    Rows("First_Row:Last_Row").delete

'nor the above

Каков правильный синтаксис для удаления диапазона строк в одном кадре без цикла?

1 Ответ

0 голосов
/ 28 февраля 2019

Можно сделать по-разному, например:

Range(Cells(First_Row,1),Cells(Last_Row,1)).EntireRow.Delete

Другой, возможно, более простой способ -

Range(First_Row & ":" & Last_Row).Delete

Возможно, вы захотите использовать Long вместо Integer для переменных номера строки, поскольку Integer может переполниться современным Excel.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...