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

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

Работа с макросами в 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.

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