- •Ознакомление с работой в Visual Basic for Applications: запись, выполнение и редактирование макрокоманд (макросов) Команды записи и выполнения макросов
- •Работа с макросом в Word
- •Нажать клавишу Enter .
- •Работа с макросом в Excel
- •Перенос изменяемого диапазона в ячейку с произвольным адресом
- •Использование кнопки "Произвольный перенос"
- •Пример создания макроса в Excel с относительными адресными ссылками
- •Пример полезного макроса: удаление текущей строки
Использование кнопки "Произвольный перенос"
Удалить результат выполнения макроса на Листе 3.
Вставить на лист кнопку управления по пути: вкладка "Разработчик" – раздел "Элементы управления" панель "Вставить" – кнопка "Кнопка".
Развернуть кнопку на листе, выбрать в окне имя созданного макроса и присвоить кнопке заголовок "Относительный".
Выйти из режима конструирования, щелкнув кнопкой курсора в стороне от кнопки, и проверить функцию макроса, нажав на кнопку.
Перейти на Лист 1 и убедиться, что выделена какая-то ячейка изменяемого диапазона.
Перейти на Лист 3, установить курсор в верхнюю левую ячейку будущего диапазона и проиграть макрос.
Если необходимо копировать диапазон на другой лист, то достаточно изменить цифру листа в листинге макроса.
Пример создания макроса в Excel с относительными адресными ссылками
Записать в ячейку А1 слово "Перенос".
Щёлкнуть кнопку "Относительные ссылки" в разделе "Код" вкладки "Разработчик".
Начать запись макроса, нажав кнопку "Записать макрос", присвоить макросу имя "Относительный" и нажать ОК.
Щёлкнуть правой кнопкой "мыши" на ячейке А1 и выбрать операцию "Копировать"
Выделить ячейку А10 и выполнить операцию "Вставить".
Остановить запись, нажав кнопку "Остановить запись".
Листинг макроса:
Sub Макрос_Относительный_перенос ()
' Макрос Относительный_перенос
'
Selection.Copy
ActiveCell.Offset(9, 0).Range("A1").Select
ActiveSheet.Paste
End Sub
Проиграть макрос и убедиться, что копирование из одной ячейки в другую происходит в режиме относительных адресных ссылок.
Пример полезного макроса: удаление текущей строки
Создать в ячейках листа таблицу со списком от 1 до 10.
Выделить какую-либо строку листа, щёлкнув на заголовке строки.
Нажать "Начать запись" и дать макросу имя "Удалить_запись".
Выделить ту же строку, щёлкнув на заголовке строки и удалить её.
Нажать кнопку "Остановить запись".
Открыть отладчик и просмотреть код макроса.
Sub УдалениеТекущейСтроки
Selection.Delete Shift:=xlUp 'параметр Shift:=xlUp показывает, что удаляется 'содержимое строки, и следующие строки таблицы перемещаются вверх
End Sub
