Удаление всех остальных строк на листе Excel

Сводка

Эта статья содержит пример макроса Microsoft Visual Basic для приложений, который можно использовать для удаления всех остальных строк в выбранном диапазоне на листе Microsoft Excel.

Дополнительная информация

Корпорация Майкрософт предоставляет примеры программирования только в целях демонстрации без явной или подразумеваемой гарантии. Данное положение включает, но не ограничивается этим, подразумеваемые гарантии товарной пригодности или соответствия отдельной задаче. Эта статья предполагает, что пользователь знаком с представленным языком программирования и средствами, используемыми для создания и отладки процедур. Специалисты технической поддержки Майкрософт могут пояснить работу той или иной процедуры, но модификация примеров и их адаптация к задачам разработчика не предусмотрена. Чтобы использовать следующий макрос, настройте книгу Excel следующим образом:

  1. Создайте новую книгу Microsoft Excel.

  2. На новом листе в диапазоне A1:A9 введите числа от 1 до 5, пропуская строки, как показано в следующем примере:

    A1: 1
    A2:
    A3: 2
    A4:
    A5: 3
    A6:
    A7: 4
    A8:
    A9: 5
    
  3. В меню Сервис выберите Макрос и выберите Редактор Visual Basic.

    Примечание В Microsoft Office Excel 2007 и более поздних версиях щелкните Visual Basic в группе Код на вкладке Разработчик .

  4. В меню Вставка выберите Модуль.

  5. В новом модуле введите следующий макрос:

Sub Delete_Every_Other_Row()

' Dimension variables.
   Y = False              ' Change this to True if you want to
                          ' delete rows 1, 3, 5, and so on.
   I = 1
   Set xRng = Selection

' Loop once for every row in the selection.
   For xCounter = 1 To xRng.Rows.Count

' If Y is True, then...
       If Y = True Then

' ...delete an entire row of cells.
           xRng.Cells(I).EntireRow.Delete

' Otherwise...
       Else

' ...increment I by one so we can cycle through range.
           I = I + 1

End If

' If Y is True, make it False; if Y is False, make it True.
       Y = Not Y

Next xCounter

End Sub
  1. Перейдите на лист, содержащий данные, а затем выберите диапазон A1:A9.

  2. Чтобы запустить макрос, в меню Сервис наведите указатель мыши на пункт Макрос, а затем выберите Пункт Макросы.

    Примечание.

    • В Excel 2007 и более поздних версиях щелкните Макросы в группе Код на вкладке Разработчик .
    • Чтобы отобразить вкладку Разработчик на ленте, нажмите кнопку Microsoft Office, выберите пункт Параметры Excel, выберите категорию Популярные, выберите вкладку Показать разработчик в поле Лента проверка, а затем нажмите кнопку ОК.
  3. Выберите макрос Delete_Every_Other_Row и нажмите кнопку Выполнить.

Этот макрос удалит все остальные строки, начиная со второй строки выделенного фрагмента.

Примечание.

Если у вас есть список данных, содержащий несколько столбцов, выберите только первый столбец данных, а затем запустите макрос.