Удаление каждой второй строки - макрос по автоматизации

Задавались ли вы когда нибудь таким вопросом, а как удалить каждую четную строку? Лично у меня частенько возникает такая необходимость, особенно когда я провожу анализ конкурентов или создаю карту сайта. В поисках подобного решения я наткнулся (уже не помню где) на макрос удаления каждой второй строки. Он буквально в считанные секунды производит колоссальную рутинную работу.

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

Инструкции по использованию кода

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

2. На новом листе введите информацию, в которой мы будем удалять каждую вторую строку.

3. В меню Сервис выберите пункт Макрос, а затем команду Редактор Visual Basic.

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

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Sub Delete_Every_Other_Row()
' Переменные размерности.
Y = False ' Измените значение на True, если необходимо
' удалить строки 1, 3, 5 и т.д.
I = 1
Set xRng = Selection
' Цикл по всем строкам выделенного диапазона.
For xCounter = 1 To xRng.Rows.Count
' Если Y = True, тогда...
If Y = True Then
' ...удалить целую строку ячеек.
xRng.Cells(I).EntireRow.Delete
' В противном случае...
Else
' ...увеличить переменную I на единицу и продолжить выполнение цикла по диапазону ячеек.
I = I + 1
End If
' Если Y = True, изменить значение на False; если Y = False, изменить значение на True.
Y = Not Y
Next xCounter
End Sub

7. Перейдите на лист с данными и выделите нужный диапазон ячеек.

8. Чтобы запустить макрос, выберите в меню Сервис пункт Макрос, а затем — пункт Макросы.

9. Примечание. В Excel 2007 выберите на вкладке Разработчик в группе Code элемент Макросы.

Примечание. Чтобы вывести на Ленту вкладку Разработчик, нажмите кнопку Microsoft Office, выберите Параметры Excel, затем — категорию Основные, установите флажок Показывать вкладку «Разработчик» на ленте и нажмите кнопку ОК.

10. Выберите макрос Delete_Every_Other_Row и нажмите кнопку Выполнить. Этот макрос удалит каждую вторую строку в выделенном диапазоне, начиная со второй.

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

Метки: ,

Опубликовано 21.06.2012