Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VBA (методичка).doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
2 Мб
Скачать
☆

Учебный центр «Стелс-Про»

Работа с макросами в Excel, Visual Basic for Application

1.Создание макросов путем записи последовательности действий

Макрос – это набор команд Excel, выполняемых автоматически.

Excel позволяет выполнять два варианта записи макросов:

  1. При помощи активизации средства записи макросов и записи выполняемых действий.

  2. Ввода текста программы непосредственно в модуле VBA.

1.1Запись действий для создания макроса

  1. Для активизации средства записи макроса следует выполнить команду: Сервис – Макрос – Начать запись.

  2. В результате на экране появится диалоговое окно (Рисунок 1):

Рисунок 1. Диалоговое окно Запись макроса

В этом диалоговом окне:

- Имя макроса – Вводится пользователем в зависимости от назначения макроса.

- Сочетание клавиш – Указывается комбинация клавиш для выполнения макроса. При вводе любой буквы можно также нажать клавишу [Shift]. Например, ввод буквы H, сопровождаемый нажатием клавишей [Shift], дает комбинацию [Ctrl+Shift+H].

- Сохранить в: - Место для хранения макроса. Можно выбрать между текущей рабочей книгой (макрос создается только для данной книги) или личной книгой макросов (макрос можно будет использовать в любой книге Excel). Личная книга макросов загружается при каждом запуске MS Excel. Это файл под именем Personal.xls, который находится в папке XlStart. Этот файл не существует, пока в личной книге не записаны макросы.

- Описание – По умолчанию Excel помещает здесь дату записи и имя пользователя.

Чтобы приступить к записи макрос, следует щелкнуть по кнопке [OK].

  1. На экране появится панель Остановки записи (Рисунок 2), содержащая кнопки Остановить запись и Относительная ссылка. Теперь следует выполнить последовательность действий. По окончанию ввода действий, нужно нажать кнопку Остановить запись на панели Остановки записи или выполнить команду Сервис – Макрос – Остановить запись.

Рисунок 2. Панель Остановка записи

1.2Редактирование макроса

Для начала редактирования следует выполнить команду Сервис – Макрос – Редактор Visual Basic. На экране появится окно редактора Visual Basic (Рисунок 3). В окне Project (Проект) отображается список всех открытых рабочих книг и надстроек. Текст макроса хранится в Module и отображается в окне Code (код). Для отображения текста в окне код нужно выполнить двойной щелчок левой клавишей мыши по соответствующему модулю.

Рисунок 3. Окно редактора Visual Basic

Редактирование текста макроса производится в окне Code.

1.3Адресация в макросах: абсолютная и относительная

Обычно при записи макроса Excel сохраняет точные адреса ячеек, которые выбираются во время записи последовательности действий, т.е. выполняет абсолютную адресацию ячеек. Например, если при записи выбран диапазон B1:B10, то Excel запишет это следующим образом:

Range (“B1:B10”).Select

Это означает, что каждый раз при выполнении макроса будут выделяться ячейки B1:B10, независимо от расположения текущей ячейки.

Если при выделении ячеек во время записи макроса щелкнуть по кнопке Относительная ссылка, Excel перейдет в режим относительной адресации. Это означает, что выбор диапазона ячеек будет зависеть от расположения активной ячейки. Например, если при начале записи макроса была выделена ячейка A1, то операция выделения блока B1:B10 будет описана следующим образом:

ActiveCell.Offset(0,1).Range(“A1:A10”).Select

Это означает, что от активной ячейки нужно переместиться на 0 строк вниз и на 1 столбец вправо и считать, что это ячейка A1. Относительно нового положения следует выделить блок A1:A10.

Для того чтобы макрос обрабатывал выделенный диапазон ячеек, необходимо выделить его до начала записи макроса.