• Tidak ada hasil yang ditemukan

РАЗДЕЛ 1. ТЕОРЕТИЧЕСКИЙ РАЗДЕЛ. ЛЕКИОННЫЙ КУРС ПО

2.1 Макросы

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

При записи макроса все действия в записи макроса записываются Visual Basic для приложений (VBA) коде. Эти действия могут включать ввод текста или чисел, выбор ячеек или команд на ленте или в меню, форматиро- вание ячеек, строк или столбцов, или даже импорт данных из внешнего источника.

Макросы и средства VBA находятся на вкладке Разработчик.

Макросы могут быть опасными. Поскольку при их написании исполь- зуется язык программирования, с его помощью можно создать настоящий вирус, который способен повредить информацию, а также собирать данные для злоумышленников (особенно опасно, если в таблице есть банковские данные, пароли и так далее).

Перед использованием макросов, сделанных другими людьми, нужно настроить антивирусную программу на их обнаружение. Как правило, эта опция установлена по умолчанию.

Если загружаются документы из сомнительных источников, следует выбрать опцию «Отключить макросы» при их открытии. И не рекомендуется менять настройки, которые выставлены по умолчанию в настройках безопас- ности Excel.

При нажатии на кнопку Безопасность макросов открывается вкладка Центр управления безопасностью (рис.2.1).

Чтобы Excel смог сохранить и в дальнейшем использовать макрос, нужно пересохранить документ в формате, который поддерживает макросы.

Это делается через команду «Сохранить как» на главной панели.

В появившемся меню нужно выбрать формат «Книга Excel с поддержкой макросов».

Рисунок 2.1 – Центр управления безопасностью Способы создания макросов

Если необходимо автоматизировать простейшие действия и не прихо- дится прописывать никаких условий, переменных, достаточно использовать встроенный инструмент для записи макросов. Просто обычная последова- тельность действий.

Если же необходимо программировать сложные действия, то тогда придется пользоваться встроенной средой VBA. Например, если необходимо записать в массив все элементы какого-то диапазона значений, определить его длительность, и при условии, что количество элементов массива не пре- вышает определенного числа, выдавать какое-то сообщение.

Способ 1. Запись макросов макрорекордером.

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

включил запись, выполнил операции, перемотал пленку и запустил выполне- ние тех же действий еще раз.

Чтобы запись макрос макрорекордером необходимо нажать кноп- ку Запись макроса на вкладке Разработчик.

Затем необходимо настроить параметры записываемого макроса в окне Запись макроса (рис. 2.2):

Рисунок 2.2 – Настройка параметров записываемого макроса

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

Сочетание клавиш - будет потом использоваться для быстрого за- пуска макроса.

Сохранить в: - здесь задается место, куда будет сохранен текст мак- роса, т.е. набор команд на VBA из которых и состоит макрос:

Эта книга - макрос сохраняется в модуль текущей книги и, как следствие, будет выполнятся только пока эта книга открыта в Excel

Новая книга - макрос сохраняется в шаблон, на основе которого со- здается любая новая пустая книга в Excel, т.е. макрос будет содержаться во всех новых книгах, создаваемых на данном компьютере начиная с текущего момента

Личная книга макросов - это специальная книга Excel с име- нем Personal.xls, которая используется как хранилище макросов. Все макросы из Personal.xls загружаются в память при старте Excel и могут быть запущены в любой момент и в любой книге.

После включения записи и выполнения действий, которые необходимо записать, запись можно остановить командой Остановить запись либо нажать на квадратик в нижнем левом углу листа (рис. 2.3).

Рисунок 2.3 – Остановка записи Способ 2. Создание макросов в редакторе Visual Basic.

Для ввода команд и формирования программы, т.е. создания макроса необходимо открыть специальное окно - редактор программ на VBA, встро- енный в Microsoft Excel, кнопка Редактор Visual Basic (рис.2.4).

Рисунок 2.4- Редактор Visual Basic

Создание пользовательской функции на VBA

Создание пользовательских функций или, как их иногда еще называют, UDF-функций (User Defined Functions) принципиально не отличается от со- здания макроса в обычном программном модуле. Разница только в том, что макрос выполняет последовательность действий с объектами книги (ячейка- ми, формулами и значениями, листами, диаграммами и т.д.), а пользовательская функция - только с теми значениями, которые мы переда- дим ей как аргументы (исходные данные для расчета).

Чтобы создать пользовательскую функцию для расчета, например, налога откроем редактор VBA, добавим новый модуль через меню Insert - Module и введем туда текст нашей функции (рис. 2.5):

Рисунок 2.5 – Вставка функции

В отличие от макросов функции имеют заголо- вок Function вместо Sub и непустой список аргументов (в нашем случае это Summa). После ввода кода наша функция становится доступна в обычном окне Мастера функций (Вставка - Функция) в категории Определенные пользователем (рис. 2.6):

Рисунок 2.6 – Вызов функции в Excel

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

Управление всеми доступными макросами производится в окне, кото- рое можно открыть с помощью кнопки Макросы на вкладке

Разработчик (рис.2.7):

Рисунок 2.7 – Запуск макроса на выполнение

Любой выделенный в списке макрос можно запустить кноп- кой Выполнить

Кнопка Параметры позволяет посмотреть и отредактировать со- четание клавиш для быстрого запуска макроса.

Кнопка Изменить открывает редактор Visual Basic и позволяет просмотреть и отредактировать текст макроса на VBA.

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

Можно добавить кнопку запуска макроса прямо на рабочий лист, как графический объект. Для этого необходимо открыть выпадающий спи- сок Вставить на вкладке Разработчик и выбрать объект Кнопка (рис.2.8).

Рисунок 2.8 – Добавление на лист Элемента управления

Затем нарисовать кнопку на листе, удерживая левую кнопку мыши. Ав- томатически появится окно, где нужно выбрать макрос, который должен запускаться при щелчке по нарисованной кнопке, или в контекстном меню выбрать команду Назначить макрос.