Учимся писать макросы


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

 Поработав с документами Ехсеl 2010, вы можете обнаружить, что часто выполняете одни и те же задачи. Некоторые из них (такие как сохранение и закрытие файлов) выполняются достаточно бы­стро, другие включают последовательность шагов, что требует определенного времени и усилий. Вместо того чтобы каждый раз выполнять одни и те же действия вручную, можно создать МАКРО­СЫ, которые представляют собой программы, автоматизирующие выполнение заданной последовательности действий.

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

image

Создание макросов

1. Введите имя макроса, например, Таблица Умножения в предназначенное для этого поле.

2. Добавьте в сочетание клавиш букву «у».

3. В описание добавьте текст «Таблица умножения до 100»

4. Щелк­ните на кнопке ОК.

5. Теперь можно выполнить действия, которые нужно записать в виде макроса, например, создайте таблицу умножения на 10.

6. В ячейку А2 введите 1, выделите эту ячейку и протяните на 9 ячеек вниз. При необходимости укажите в параметрах автозаполнения флажок Заполнить.

7. В ячейку В1 введите 1, выделите эту ячейку и протяните на 9 ячеек вправо. При необходимости укажите в параметрах автозаполнения флажок Заполнить.

8. Введите в ячейку В2 формулу: =$A2*B$1. Выделите ее и протяните сначала на 9 ячеек вниз, а затем выделенный столбец на 9 колонок вправо. Закончив, щелкните на стрелке кнопки Макросы на вкладке Вид, а затем щелк­ните на команде Остановить запись

image

 

Аналогично можно создать и другие макросы, например, для очистки рабочего листа:

1. Щелк­ните на стрелке кнопки Удалить в разделе Ячейки на вкладке Вид, а затем щелкните на команде За­пись макроса.

2. Введите имя макроса, например, Очистка в предназначенное для этого поле и добавьте в сочетание клавиш букву «о».

3. Выделите диапазон ячеек А1:К11.

4. Щелк­ните на стрелке кнопки Макросы в разделе Макросы на вкладке Главная, а затем щелкните на команде Удалить ячейки – Удалить со сдвигом вверх.

5. Щелкните на стрелке кнопки Макросы на вкладке Вид, а затем щелк­ните на команде Остановить запись.

Запуск, изменение и удаление макроса

Щелк­ните на стрелке кнопки Макросы в разделе Макросы на вкладке Вид, а затем щелкните на команде Макросы. Появится диалоговое окно Макрос .

1. Чтобы запустить макрос, достаточно выде­лить его в диалоговом окне Макрос и щелкнуть на кнопке Выполнить.

2. Чтобы изменить существующий макрос, можно просто удалить его и записать снова.

3. Если же требуется незначительное измене­ние, можно открыть макрос в редакторе VBA и внести изменения в код макроса. Для этого достаточно выде­лить его в диалоговом окне Макрос и щелкнуть на кнопке Изменить.

4. Чтобы удалить макрос, достаточно выде­лить его в диалоговом окне Макрос и щелкнуть на кнопке Удалить.

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

Редактирование макросов осуществляется средствами Microsoft Visual Basic for Applications (VBA). Редактор можно запустить командой Visual Basic в группе Код вкладки Разработчик или нажатием клавиш Alt+F11.

image

 

Добавление кнопок макросов на вкладки

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

1. Для этого необходимо правой кнопкой мыши вызвать контекстное меню любой вкладки, например, Разработчик, и выбрать команду Настройка ленты.

2. Выделить вкладку, например, Разработчик, и нажать кнопку Добавить группу.

3. Нажать кнопку Переименовать и ввести в поле Отображаемое имя название новой группы, например, Макросы, выбрать символ и нажать кнопку ОК.

4. Из списка Выбрать команды щелкнуть Макросы.

5. Найти макрос ТаблицаУмножения и кнопкой Добавить включить его в созданную группу Макросы.

6. Нажать кнопку Переименовать и ввести в поле Отображаемое имя название новой команды, например, ТаблицаУмножения, выбрать символ и нажать кнопку ОК.

7. Найти макрос Очистить и кнопкой Добавить включить его в созданную группу Макросы.

8. Нажать кнопку Переименовать и ввести в поле Отображаемое имя название новой команды, например, Очистить, выбрать символ и нажать кнопку ОК.

9. После нажатия кнопки ОК диалогового окна Параметры Excel на вкладке Разработчик появиться группа Макросы с командами Таблица умножения и Очистить.

image

 

Рис. 4. Добавление кнопок макросов на вкладку Разработчик

 

Добавление кнопки макросов на панель быстрого доступа

Новый пользовательский интерфейс Ехсеl 2010 позволяет быстро находить встроенные команды, однако потребуется несколько се­кунд, чтобы запустить макрос с помощью диалогового окна Мак­рос. В Ехсеl 2010 имеется несколько способов сде­лать макросы более доступными.

Можно упростить доступ к диалоговому окну Мак­рос, добавив кнопку Макросы на панель быстрого доступа.

1. Для этого правой кнопкой щелк­ните на стрелке кнопки Макросы в разделе Макросы на вкладке Вид.

2. В контекстном меню щелкните на команде Добавить на панель быстрого доступа.

3. На панели быстрого доступа появится кнопка Макросы, щелчок на которой открывает диалоговое окно Макрос.

image

Рис. 5. Добавление кнопки макросов на панель быстрого доступа

Если вы предпочитаете выполнять макрос, не открывая диало­говое окно Макрос, можно добавить кнопку, запускающую макрос, на панель быстрого доступа. Это особенно удобно, если мак­рос автоматизирует задачу, которая часто выполняется. Чтобы до­бавить кнопку для макроса на панель быстрого доступа:

1. Щелкните на кнопке Настройка напели быстрого доступа в конце панели быстрого доступа.

2. Щелкните на Другие команды, чтобы отобразить страницу Настройка диалогового окна Параметры Ехсеl.

3. Щелкните на стрелке поля Выбрать команды из.

4. Щелкните на категории Макросы, чтобы отобразить список всех доступных макросов.

5. Щелкните на макросе, для которого нужно создать кнопку.

6. Щелкните на кнопке Добавить.

7. Щелкните на кнопке ОК.

image

Другим способом добавления кнопки макроса Очистить на панель быстрого доступа является возможность ее установки с вкладки.

Щелкните на команде Очистить группы Макросы вкладки Разработчик правой кнопкой мыши и из контекстного меню выберите Добавить на панель быстрого доступа.

image

 

Создание объектов для выполнения макросов

Назначение макросов фигурам позволяет создавать «кнопки» более сложной формы, чем те, которые отображаются на панели быстрого доступа. При желании можно даже разрабо­тать собственные макеты кнопок для различных объектов. Чтобы назначить макрос фигуре, щелкните на ней правой кнопкой мыши, а затем щелкните на команде Назначить макрос в контекстном меню. В диалоговом окне, которое появится, щелкни­те на нужном макросе, а затем щелкните на кнопке ОК.

При назначении макросов фигурам не следует из­менять имя макроса, которое отображается в диалоговом окне Назна­чить макрос объекту, поскольку оно содержит ссылку на объект. Изменение имени макроса разрывает эту связь и препятству­ет выполнению макроса.

Для запуска макроса ТаблицаУмножения можно создать фигуру в виде прямоугольника, а для Очистить – в виде элипса:

1. Щелк­ните на стрелке кнопки Фигуры в разделе Иллюстрации на вкладке Вставка, а затем щелкните на команде Скругленный прямоугольник.

2. Впишите фигуру Скругленный прямоугольник в диапазон ячеек М2:Р4. Введите текст «Таблица умножения». Установите размер шрифта введенного текста 18.

3. Щелкните на прямоугольнике правой кнопкой мыши, а затем щелкните на команде Назначить макрос в контекстном меню. В диалоговом окне, которое появится, щелкни­те на макросе ТаблицаУмножения, а затем щелкните на кнопке ОК.

4. Щелк­ните на стрелке кнопки Фигуры в разделе Иллюстрации на вкладке Вставка, а затем щелкните на команде Овал.

5. Впишите фигуру Овал в диапазон ячеек М7:Р10. Введите текст «Очистка». Установите размер шрифта введенного текста 18. Выровняйте надпись по центру. Измените цвет заливки фигуры на красный.

image

 

6. Щелкните на овале правой кнопкой мыши, а затем щелкните на команде Назначить макрос в контекстном меню. В диалоговом окне, которое появится, щелкни­те на макросе Очистить, а затем щелкните на кнопке ОК.

Теперь для запуска макроса достаточно щелчка по фигуре. Щелкните по фигуре Овал и с листа исчезнет таблица. Щелкните по фигуре Скругленный прямоугольник и таблица умножения вновь появиться на листе.

Выводы и рекомендации

1. Макросы целесообразно создавать для рутинных многократно повторяющихся действий. Для создания макросов не требуется знания языков программирования.

2. Макросы можно запускать, изменять, редактировать и удалять по мере необходимости. Для редактирования макросов необходимы знания алгоритмического языка Basic, оптимально Visual Basic for Applications. Последний позволяет управлять диалоговыми окнами и решать нестандартные задачи.

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

Comments (1)

  1. Andrey Artemyev says:

    В Excel и Word макросы отлично помогают, когда надо срочно посмотреть конкретный кусок объектной модели, а под рукой нет интернета, например. Правда, чаще всего придется внимательно почистить полученный код от лишних "следов" перемещения по ячейкам и других необязательных действий. Но это того стоит. Запись и просмотр макроса займет минуты 2. А вот поиск некоторых видов информации (особенно, связанной с графиками) на MSDN в контексте объектной модели может длиться часами и не факт, что окажется результативным.

    Ну, а для пользователей, не знакомых с VBA, макросы – вещь безусловно незаменимая и полезная.

Skip to main content