Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практическое занятие 01.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
118.78 Кб
Скачать

Работа с макросом в Excel

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

Пример создания макроса в Excel

(Перенос изменяемого диапазона в ячейку с фиксированным адресом)

  1. Открыть Лист 1.

  2. Создать какой-либо непрерывный диапазон с данными, которые предполагается копировать. (Непрерывность означает, что в диапазоне нет пустых строк).

  3. Перейти на любой лист книги, имитируя ситуацию, что выполнение макроса не должно зависеть от стартового положения курсора.

  4. Начать запись макроса по пути: меню "Разработчик" – раздел "Код" – кнопка "Записать макрос". Присвоить имя макросу: "Диапазон" и указать место сохранения макроса. (Макрос можно сохранять либо в текущей книге, либо, для универсальности, в Личной книге макросов). Добавить описание макроса и назначить комбинацию горячих клавиш (при необходимости).

  5. Перейти на Лист 1, щёлкнув на ярлычке листа.

  6. Щёлкнуть любую ячейку исходного диапазона данных.

  7. Нажать последовательно: вкладка "Главная" – раздел "Редактирование"  кнопка "Найти и выделить"  "Перейти" – "Выделить" – "Текущая область"  ОК.

  8. Щелкнуть правой кнопкой "мыши" на любой ячейке автоматически выделенного диапазона и выбрать операцию "Копировать".

  9. Перейти на Лист 3.

  10. Щелкнуть правой кнопкой на выбранной ячейке листа и выполнить операцию "Вставить".

  11. Остановить запись по пути: вкладка "Разработчик" – "Остановить запись".

  12. Удалить результат операций на Листе 3, полученный вручную при записи макроса.

  13. Запустить макрос по пути: вкладка "Разработчик" – раздел "Код" – кнопка "Макросы" – (выбрать макрос)  "Выполнить" или с помощью заданных горячих клавиш. Как видно, в данном случае при выполнении макроса не нужно задавать стартовые условия, т. к. они уже записаны в теле макроса (Sheets("Лист1").Select).

Листинг макроса:

Sub Диапазон()

'

' Диапазон Макрос

Sheets("Лист1").Select

Range("B12").Select

Selection.CurrentRegion.Select

Selection.Copy

Sheets("Лист3").Select

Range("E17").Select

ActiveSheet.Paste

End Sub

  1. Изменить, содержимое и размер исходного диапазона, и вновь проиграть макрос. Как видно, происходит перенесение текущей области любого размера и содержания.

  2. При сохранении файла с созданным макросом, книге должен быть определён тип (.xlsm), т. е. обеспечение сохранения файла с поддержкой макросов.

Перенос изменяемого диапазона в ячейку с произвольным адресом

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

  1. Создать на Листе 1 непрерывный диапазон исходных данных и проверить, что курсор находится внутри диапазона.

  2. Перейти на лист, в который производится перенос диапазона (в частности, на Лист 3), в ячейку, которая соответствует верхней левой ячейке диапазона исходных данных, расположенного на Листе 1.

  3. Начать запись макроса, нажав кнопку "Записать макрос", присвоить макросу имя "Произвольный" и нажать ОК.

  4. Перейти на Лист 1 и проверить, что курсор находится внутри исходного диапазона.

  5. Нажать последовательно: вкладка "Главная" – раздел "Редактирование"  кнопка "Найти и выделить"  "Перейти" – "Выделить" – "Текущая область"  ОК.

  6. Щелкнуть правой кнопкой на любой ячейке автоматически выделенного диапазона и выбрать операцию "Копировать".

  7. Перейти на Лист 3.

  8. Щелкнуть правой кнопкой на выбранной ранее ячейке листа и выполнить операцию "Вставить".

  9. Остановить запись по пути: вкладка "Разработчик" – раздел "Код"  кнопка "Остановить запись".

  10. Удалить результат операций на Листе 3, полученный вручную при записи макроса.

  11. Запустить макрос по пути: вкладка "Разработчик" – раздел "Код" – кнопка "Макросы" – (выбрать макрос)  "Выполнить".

Убедиться, что при выполнении этого макроса можно переносить изменяемый диапазон в любую заданную ячейку листа 3.

Для иллюстрации этого положения можно создать новый непрерывный диапазон, поместить курсор в любую ячейку диапазона, перейти на Лист 3, выделить какую-либо ячейку и проиграть макрос.

Листинг программы при этом выглядит так:

Sub Произвольный()

' Относительное Макрос

'

Sheets("Лист1").Select

ActiveCell.Select

Selection.CurrentRegion.Select

Selection.Copy

Sheets("Лист3").Select

ActiveSheet.Paste

End Sub