Удаление нескольких строк от 1 до p

Я пытаюсь удалить несколько строк от 2 до p.

обычно, если вы хотите удалить строки с 2 по 1234, вы делаете это:

Rows("2:1234").EntireRow.Delete 

Поэтому я решил попробовать:

 dim p as long, p = (Range("N2").Value) Rows("2:p").EntireRow.Delete 

Но у меня есть ошибка. ( несоответствие типа )

У кого-то есть идея, что делать?

Конечно, я также могу удалить строки таким образом

 for i = 2 to p Rows(2).EntireRow.Delete next i 

но я думаю, что потребуется больше времени – скажите мне, если я ошибаюсь.

p – переменная. Когда вы помещаете его в кавычки, он рассматривается как строка. Это то, что вы пытаетесь?

 Dim p As Long p = Range("N2").Value Rows("2:" & p).EntireRow.Delete 
Interesting Posts

Каков наилучший способ выполнить SQL-запрос в большом файле excel с помощью vb.net?

Открытие шаблона excel для редактирования в VB.NET с помощью Process.Start ()

Excel VBA Macro – отдельное содержимое ячеек в пространстве пробелами в строки и захват исходного местоположения ячейки

Excel: Isnumber -> Match -> (сравнить 2 массива) -> преобразовать один элемент в массив

Получить конец строк файла excel в пределах доступа vba

Excel Macro для передачи данных из конкретной таблицы в другую на основе заданных переменных

Автоматическая фильтрация таблицы с помощью ComboBox

Посмотрите номер столбца в диапазоне?

VBA: невозможно добавить элемент в combobox

Обновление файла Excel, который считывается из

Элементы Check / UnCheck Listobx на основе значений ячейки Excel

Добавить текст в существующую целевую ячейку в Excel

Код Excel VBA: ошибка компиляции в версии x64 (требуется атрибут «PtrSafe»)

excel: формула с скобками или пробелами

Определение ключевых значений и транспонирование определений в новом столбце в Excel

Давайте будем гением компьютера.