Создание макросов с помощью Макрорекордера
Понятие макроса
Структура макроса
Запись макросов макрорекордером
+ и -
Запуск и редактирование макросов
Создание кнопки для запуска макросов
Кнопка на панели быстрого доступа
Кнопка на листе
Абсолютные и относительные ссылки
Запись абсолютных и относительных ссылок в процедурах VBA
Личная книга макросов.
Создание и обновление личной книги
239.49K

Создание макросов с помощью Макрорекордера

1. Создание макросов с помощью Макрорекордера

• Личная книга макросов.
• Макросы с абсолютными и
относительными ссылками.
• Особенности редактирования макросов
Личной книги.

2. Понятие макроса

• Макрос - это запрограммированная
последовательность действий (программа,
процедура), записанная на языке
программирования Visual Basic for
Applications (VBA). Мы можем запускать
макрос сколько угодно раз, заставляя Excel
выполнять последовательность любых
нужных нам действий, которые нам не
хочется выполнять вручную.

3. Структура макроса

• Каждый макрос VBA начинается со слова Sub (сокращение слова
subprogram – подпрограмма), следом за которым идет имя
макроса.
• Строку с ключевым словом Sub и именем макроса называют
строкой объявления макроса.
• Имя макроса должно начинаться с буквы, но может содержать и
числа. Имя макроса не может включать в себя пробелы или
знаки препинания.
• За именем макроса всегда следуют пустые круглые скобки.
Сразу за объявлением макроса следует тело макроса, которое
может содержать, либо не содержать комментарии.
• Комментарий– это строка в макросе VBA, которая не содержит
инструкций, это поясняющий текст. Строки комментариев
начинаются с прямого апострофа ('). Используются комментарии
для того, чтобы код подпрограммы был более понятен при
чтении.

4.

• Каждая строка в теле макроса состоит из одного или
нескольких операторов VBA.
• Оператор VBA– это последовательность ключевых слов и
других символов, которые совместно составляют одну
полную инструкцию.
• На одной строке можно записать несколько инструкций,
разделив их двоеточием, но, как правило, каждую
инструкцию начинают с новой строки, это улучшает
наглядность текста программ.
• За телом макроса следует строка, содержащая
ключевыеслова End Sub, что свидетельствует о том, что
достигнут конец макроса.
• При выполнении инструкции End Sub никаких видимых
действий не происходит, но при этом освобождается вся
память, которая использовалась для выполнения
подпрограммы.

5.

• При просмотре макросов можно заметить, что различные
части текста макроса отображаются различными цветами.
• Так, например, комментарии имеют зеленый цвет шрифта, а
ключевые слова, имеющие строго определенный смысл
отображаются синим цветом. Остальной текст макроса
отображается черным цветом.
• При возникновении ошибок в программе, часть кода
подкрашивается красным цветом.
• Для выделения различных секций макроса используются
отступы в коде. Каждый уровень отступа помогает отделять
одну часть макроса от другой.
• В коде макроса зачастую можно встретить сочетание пробела
и символа подчеркивания (_) в конце строки. Эта комбинация
называется символом продолжения строки и сообщает о том,
что следующая строка макроса должна быть присоединена к
текущей строке для образования единого оператора.

6. Запись макросов макрорекордером

• Макрорекордер - это небольшая программа,
встроенная в Excel, которая переводит любое
действие пользователя на язык
программирования VBA и записывает
получившуюся команду в программный
модуль.
• Такой способ создания макросов не требует
знаний пользователя о программировании и
VBA и позволяет пользоваться макросами как
неким аналогом видеозаписи

7. + и -

+и• Макрорекордер записывает только те действия,
которые выполняются в пределах окна Microsoft
Excel. Как только вы закрываете Excel или
переключаетесь в другую программу - запись
останавливается.
• Макрорекордер может записать только те действия,
для которых есть команды меню или кнопки в Excel.
Программист же может написать макрос, который
делает то, что Excel никогда не умел.
• Если во время записи макроса макрорекордером вы
ошиблись - ошибка будет записана. Однако смело
можете давить на кнопку отмены последнего
действия (Undo) - во время записи макроса
макрорекордером она не просто возрвращает Вас в
предыдущее состояние, но и стирает последнюю
записанную команду на VBA.

8.

Чтобы включить запись необходимо:
• в Excel 2003 и старше - выбрать в меню Сервис - Макрос Начать запись (Tools - Macro - Record New Macro)
• в Excel 2007 и старше- нажать кнопку Запись макроса
(Record macro) на вкладке Разработчик (Developer)
Затем необходимо настроить параметры записываемого
макроса в окне Запись макроса:
После включения записи и выполнения действий, которые
необходимо записать, запись можно остановить командой
Остановить запись (Stop Recording).

9.

• Имя макроса - подойдет любое имя на русском или английском
языке. Имя должно начинаться с буквы и не содержать пробелов и
знаков препинания.
• Сочетание клавиш - будет потом использоваться для быстрого
запуска макроса. Если забудете сочетание или вообще его не
введете, то макрос можно будет запустить через меню Сервис Макрос - Макросы - Выполнить (Tools - Macro - Macros - Run) или с
помощью кнопки Макросы (Macros) на вкладке Разработчик
(Developer) или нажав ALT+F8.
• Сохранить в... - здесь задается место, куда будет сохранен текст
макроса, т.е. набор команд на VBA из которых и состоит макрос.:
Эта книга - макрос сохраняется в модуль текущей книги и, как
следствие, будет выполнятся только пока эта книга открыта в Excel
Новая книга - макрос сохраняется в шаблон, на основе которого
создается любая новая пустая книга в Excel, т.е. макрос будет
содержаться во всех новых книгах, создаваемых на данном
компьютере начиная с текущего момента
Личная книга макросов - это специальная книга Excel с именем
Personal.xls, которая используется как хранилище макросов. Все
макросы из Personal.xls загружаются в память при старте Excel и
могут быть запущены в любой момент и в любой книге.

10. Запуск и редактирование макросов

• Управление всеми доступными макросами производится в
окне, которое можно открыть с помощью кнопки Макросы
(Macros) на вкладке Разработчик (Developer) или - в старых
версиях Excel - через меню Сервис - Макрос - Макросы
(Tools - Macro - Macros):
• Любой выделенный в списке макрос
можно запустить кнопкой Выполнить
(Run).
• Кнопка Параметры (Options) позволяет
посмотреть и отредактировать
сочетание клавиш для быстрого запуска
макроса.
• Кнопка Изменить (Edit) открывает
редактор Visual Basic (см. выше) и
позволяет просмотреть и
отредактировать текст макроса на VBA.

11. Создание кнопки для запуска макросов

• Чтобы не запоминать сочетание клавиш для
запуска макроса, лучше создать кнопку и
назначить ей нужный макрос. Кнопка
может быть нескольких типов.

12. Кнопка на панели быстрого доступа

• Щелкните правой кнопкой мыши по панели
быстрого доступа в левом верхнем углу окна
Excel и выберите команду Настройка панели
быстрого доступа
• Затем в открывшемся окне выберите
категорию Макросы и при помощи кнопки
Добавить (Add) перенесите выбранный
макрос в правую половину окна, т.е. на
панель быстрого доступа

13. Кнопка на листе

Этот способ подходит для любой версии Excel. Чтобы
добавить кнопку запуска макроса прямо на рабочий
лист, как графический объект:
• Откройте выпадающий список Вставить (Insert) на
вкладке Разработчик (Developer)
• Выберите объект Кнопка (Button):
• Затем нарисуйте кнопку на листе, удерживая левую
кнопку мыши.
Автоматически появится
окно, где нужно выбрать
макрос, который должен
запускаться при щелчке
по нарисованной кнопке.

14. Абсолютные и относительные ссылки

Запись абсолютных и относительных ссылок в
формулах на рабочем листе
• Например, если активна ячейка A4, то ссылку на
ячейку D3 можно задать как D3 (стиль A1 ) или R[1]C[3] (стиль R1C1 ).
• При записи формулы в стиле A1 признаком
абсолютной ссылки является знак доллара ($) перед
адресом строки и/или столбца. В стиле R1C1 для
задания абсолютной ссылки используются индексы
ячейки. Например, на ячейку D3 указывает
абсолютная ссылка $D$3 в стиле A1 и абсолютная
ссылка R3C4 в стиле R1C1.

15. Запись абсолютных и относительных ссылок в процедурах VBA

• В процедурах, создаваемых при помощи
макрорекордера, абсолютные и относительные ссылки
записываются в стиле R1C1.
• По умолчанию после запуска макрорекодера кнопка
Относительная ссылка отжата, что означает, что при
записи процедур используются абсолютные ссылки.
• Можно установить использование относительных
ссылок при записи процедур. Для этого после запуска
макрорекордера нажмите кнопку Относительная
ссылка на панели инструментов Остановить запись.
Кнопка будет изображена на оранжевом фоне.
Относительные ссылки будут использоваться до конца
текущего сеанса работы в MS Excel или до повторного
нажатия кнопки Относительная ссылка.

16.

Важно:
• Абсолютные ссылки всегда указывают на конкретную
ячейку и команды, записанные с абсолютными
ссылками, всегда выполняются с теми же ячейками,
которые обрабатывались при создании макроса,
независимо от положения активной ячейки, другими
словами, независимо от выбранного объекта Range.
• Относительные ссылки рассматриваются
относительно выбранного объекта Range. Чтобы с
помощью макроса обрабатывать произвольные
ячейки, следует записать его команды с
относительными ссылками.
• Чтобы макрос всегда выполнял макрокоманды для
определенной ячейки, а затем для других ячеек,
связанных с предыдущей, нужно использовать
абсолютные ссылки при записи команд для первой
ячейки и относительные ссылки при записи команд
для ячеек, связанных с первой.

17.

Другой способ задания относительных ссылок использование свойства Offset объекта Range.
• Пример 1. Процедура Макрос1 закрашивает ячейки
интервала B1:C5 желтым цветом:
Выделение интервала B1:C5 записано с абсолютными ссылками.
При повторном выполнении процедуры снова будет выделен
тот же интервал B1:C5, независимо от того, какая ячейка будет
активной перед запуском процедуры.

18.

• Пример 2. Процедура Макрос2 желтым цветом
закрашивает интервал ячеек, смещенный относительно
активной ячейки.
В команде выделения интервала объект Range смещен
относительно активной ячейки - свойство Offset устанавливает
смещение на один столбец. Процедура Макрос2 окрасит
интервал из двух столбцов и пяти строк, начинающийся в
соседнем по отношению к активной ячейке столбце.

19. Личная книга макросов.

• Личная книга (Personal.xlsb) открывается
как скрытую книгу при каждом запуске
Microsoft Excel. Excel сохраняет личную
книгу как Personal.xlsb в следующей папке
на компьютерах с Windows 7 и Windows
Vista:
• C:\Users\ <имя пользователя>
\AppData\Roaming\Microsoft\Excel\XLSTART

20. Создание и обновление личной книги

• Для создания личной книги сначала необходимо создать макрос и
сохранить его в личной книге макросов. Прежде чем начать, убедитесь,
что на ленте Excel есть вкладка Разработчик.
• После того как личная книга с макросом будет создана при следующем
запуске Excel личная книга загрузится, но не будет отображаться,
поскольку является скрытой по умолчанию. Файл Personal.xlsb можно
просмотреть, выполнив следующие действия.
1. На вкладке Вид в группе окно нажмите кнопку отобразить. В диалоговом
окне Показать вы увидите PERSONAL. XLSB.
2. Нажмите кнопку ОК, чтобы просмотреть личную книгу. Каждый макрос,
сохраняемый в личной книге, можно редактировать только при первом
отображении личной книги. Это предотвращает случайное удаление таких
макросов или внесение в них нежелательных изменений.
3. Чтобы скрыть личную книгу, убедитесь, что выделен файл Personal.xlsb, и
выберите команду Скрыть
• Каждый раз при создании нового макроса и сохранении его в личную
книгу, а также при обновлении макроса в книге предлагается
сохранить личную книгу.
• Чтобы скрыть личную книгу, убедитесь, что выделен файл Personal.xlsb, и
выберите команду Скрыть.
English     Русский Правила