Работа с макросами в Excel.
- Создание макроса.
- Запуск макроса.
- Назначение макроса кнопке или объекту.
- Использование Visual Basic for Applications.
Создание макроса.В Excel, так же как и в любом другом пакете Microsoft Office, существует возможность сохранить набор проделанных операций и, в дальнейшем, выполнить его, используя только одну команду. Такая последовательность команд и функций хранится в модуле Visual Basic и называется макросом. Пользователь может сам создать макрос, выполнив следующие шаги:
- Спланируйте всю последовательность действий, которые будут выполняться в макросе. Имейте в виду, что записаны будут все Ваши действия, включая отмену операций и исправление ошибок.
- Выполните последовательно команды Macro (Макрос), Record New Macro (Начать запись) меню Tools (Сервис). Появится окно диалога Record Macro (Запись макроса).
- Введите в поле ввода Macro name (Имя макроса) название создаваемого макроса.
Первым символом в имени должна быть буква, пробелы не допускаются (используйте знак подчеркивания вместо пробела).
Чтобы впоследствии запускать макрос с помощью сочетания клавиш, введите букву в поле Shortcut key (Сочетание клавиш). При назначении клавиш быстрого вызова учитывается различие между прописными и строчными буквами. Для строчных букв используется сочетание CTRL+буква, для заглавных -CTRL+SHIFT+буква. Цифры и специальные знаки в качестве клавиш быстрого вызова не допускаются.
В поле Store macro in (Сохранить в книге) выберите книгу, в которой Вы хотите сохранить этот макрос.
Помимо стандартной информации (когда и кем был записан макрос), Вы можете ввести в поле ввода Description (Описание) краткое описание назначения макроса. После этого нажмите кнопку OK.
- Начиная с этого момента, все Ваши действия будут записаны в макросе. Признаком того, что Вы работаете в режиме записи макроса является слово Recording (Запись), появившееся в строке состояния. При этом на экране отобразится специальная панель инструментов Stop Recording (Остановка записи). Вы можете выключить эту панель инструментов, если она Вам не нужна. Однако имейте в виду, что по умолчанию при записи используются абсолютные ссылки, т.е. при выполнении макроса будут обрабатываться те же самые ячейки, которые обрабатывались при записи. Чтобы макрос обрабатывал ячейки, определяя их местоположение относительно активной ячейки, необходимо включить опцию Relative Reference (Относительная ссылка), кликнув на соответствующей кнопке панели инструментов Stop Recording (Остановка записи).
- После того, как Вы выполнили все операции, составляющие запоминаемый набор, запись макроса необходимо остановить. Для этого достаточно кликнуть на кнопке Stop Recording (Остановить запись) панели инструментов Stop Recording (Остановка записи). Если Вы выключили эту панель, воспользуйтесь меню Tools (Сервис), выбрав последовательно команды Macro (Макрос), Stop Recording (Остановить запись).
Запуск макроса. Если Вы сохранили последовательность операций в виде макроса, Вы можете повторить ее, запустив соответствующий макрос. Сделать это можно разными способами:
- Запуск макроса с помощью клавиш быстрого вызова
Если при записи макроса Вы определили клавиши быстрого вызова, заполнив поле ввода Shortcut key (Сочетание клавиш), достаточно нажать это сочетание клавиш для запуска макроса. - Запуск макроса путем выбора имени
Активизируйте последовательно команды Macro (Макрос), Macros (Макросы) меню Tools (Сервис), выберите имя нужного макроса и нажмите кнопку Run (Выполнить).
С помощью диалогового окна Macro (Макрос) Вы можете удалить макрос, который Вам больше не нужен, изменить макрос средствами встроенного редактора Visual Basic или войти в макрос для построчной отладки. - Запуск макроса с помощью кнопок и графических объектов
Вы можете создать кнопку или графический объект на рабочем листе и присвоить макрос этому элементу. Вы можете, также, присвоить макрос любой кнопке на панели инструментов. В этом случае, кликнув рабочей клавишей мыши на соответствующем объекте, Вы запустите связанный с ним макрос.
Назначение макроса кнопке или объекту.Назначение макроса кнопке на рабочем листе
Microsoft Excel предоставляет пользователю возможность создавать свои электронные формы для ввода данных. Для этого предназначены панели инструментов Forms (Формы), Control Toolbox (Элементы управления). Остановимся подробнее на процессе создания кнопки с помощью панели инструментов Forms (Формы):
- Выберите инструмент Button (Кнопка) на панели инструментов Forms (Формы).
- Нарисуйте кнопку на рабочем листе.
- В окне диалога Assign Macro (Назначить макрос объекту) выберите макрос и нажмите кнопку OK.
- Кликните мышкой вне созданной кнопки.
- Кнопка с назначенным ей макросом создана. Вы можете изменить текст на кнопке, назначить ей другой макрос или удалить кнопку с рабочего листа, выбрав соответствующие команды из контекстного меню. Для вызова контекстного меню необходимо кликнуть на кнопке правой клавишей мышки. При этом вокруг кнопки появятся позиционные маркеры, с помощью которых Вы можете менять ее размер.
Назначение макроса кнопке на панели инструментов
Кнопку, созданную на рабочем листе, нельзя перетащить на панель инструментов. Однако Вы можете сформировать панель инструментов по своему усмотрению и назначить необходимый макрос любой кнопке на этой панели. Для этого последовательно активизируйте команды Toolbars (Панели инструментов), Customize (Настройка) меню View (Вид). Затем щелкните правой клавишей мыши на нужной кнопке и выберите пункт Assign Macro (Назначить макрос) в появившемся меню.
Назначение макроса графическому объекту
Кликните на графическом объекте правой клавишей мыши и выберите команду Assign Macro (Назначить макрос) из появившегося контекстного меню.
Использование Visual Basic for Applications. Описанным выше способом Вы можете создать достаточно простой макрос. Для автоматизации более сложных задач необходимо знакомство с
Visual Basic for Applications (Visual Basic для приложений). Кроме того, встроенный редактор Visual Basic позволяет просматривать и редактировать макросы, созданные без его помощи, т.к. каждый раз когда Вы записываете макрос, он сохраняется в новом модуле Visual Basic, присоединенном к книге. С помощью Visual Basic Вы можете копировать макросы и переименовывать их.
Доступ к редактору Visual Basic осуществляется последовательным выбором команд Macro (Макрос), Visual Basic Editor (Редактор Visual Basic) из меню Tools (Сервис). После активизации указанных элементов открывается окно Microsoft Visual Basic.
Сначала содержимое VBA-модуля не отображается в этом окне. Чтобы начать редактирование, необходимо в окне Project (Проект) открыть папкуModules (Модули) и выбрать имя модуля. В рабочем поле Visual Basic откроется окно, содержащее текст макроса.
Чтобы требуемый модуль сразу появился в рабочем поле Visual Basic, кликните на кнопке Edit (Изменить) диалогового окна Macro (Макрос).
Создадим для примера простой макрос, не прибегая к услугам Visual Basic.
Макрос включает следующие действия:
- добавление рабочего листа;
- ввод текста в первую ячейку;
- показ рабочего листа в режиме предварительного просмотра.
На рисунке показано как выглядит этот макрос в окне Visual Basic. Рассмотрим процедуру построчно:
- активизируется рабочий лист Лист2;
- добавляется новый рабочий лист;
- активизируется ячейка A1;
- в активную ячейку вводится текст Новый текст;
- активный лист в текущем окне отображается в режиме предварительного просмотра.
Электронные формы в Excel.
- Панель инструментов "Формы".
- Панель инструментов "Элементы управления".
- Создание пользовательской формы средствами VBA.
Microsoft Excel хранит информацию в ячейках рабочего листа. Однако не всегда удобно вводить данные прямо в ячейки, Вы можете упростить этот процесс, автоматизировав ввод часто встречающихся данных или, предлагая выбрать значение из списка. Поля, вычисляемые по достаточно сложному алгоритму, имеет смысл рассчитывать с помощью процедуры, запускаемой нажатием определенной кнопки. Все эти возможности реализуются через элементы управления, совокупность которых образует электронную форму. В Excel существуют две встроенные панели инструментов, которые предназначены для создания электронных форм: Forms (Формы) и Control Toolbox (Элементы управления). Кроме того, Вы можете создать пользовательскую форму средствами встроенного редактора Visual Basic.