Общая характеристика алгоритмического языка VBA

VBA, макросы, программирование в Excel.

ВВЕДЕНИЕ В VBA

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

Ядром, основой среды программирования VISUAL BASIC FOR APLICATIONS (VBA)является язык программирования VISUAL BASIC.Большое множество различных версий языка Basic (такие как QB, QBasic, Quick Basic и т.д.) являются предшествующими языку VISUAL BASIC. Язык VISUAL BASICсохраняет все функциональные возможности практически всех предшествующих версий языка Basic.

VBA(Visual Basic for Applications), является приложением языка программирования Visual Basic в Excel. Таким образом появилась возможность создавать программы находясь непосредственно в среде Excel. Программирование в Excel – это процесс создания макросов Visual Basic,встроенных в Excel.

Макросы (макрокоманды) – это программы, написанные на языке программирования.

Разработка такой программы (Макроса) начинается с вставки модуля Visual Basic в активную книгу Excel . Для этого на ленте окна Excel нажимаем вкладку « Разработчик ». В результате появляется окно с редактором Visual Basic для создания модуля, и кнопка «Макросы», и колонка кнопок «Запись макроса», «Относительные ссылки», «Безопасность макросов». Для защиты Excel от макровирусов существует возможность выбора режима безопасности:

· полностью отключить макросы

· включить макросы при открытии документа

· доверять всем макросам, подписанным с использованием надёжных сертификатов.

Кнопка «Макросы» предназначена для запуска, редактирования созданного модуля, сохранения его в нужной папке, удаления и т.д..

 

Если кнопка « Разработчик » отсутствует на ленте окна Excel,то в любом месте ленты щелкаем правой клавишей мыши, выбираем вкладку «Настройка ленты» и ставим галочку (левой клавишей мыши) напротив вкладки « Разработчик». После этого на ленте появится вкладка « Разработчик».

Для создания программы в Excel нажмем на вкладке «Разработчик» кнопку Visual Basic. Поверх окна Excel открывается окно редактора Visual Basic.

В этом окне можно будет выполнять различные действия: вводить и редактировать текст программы пользователя, производить отладку и выполнять программу. Программу, созданную пользователем, называют еще приложением, проектом или макросом. Она находится в книге Excel. Кликнем на строке VBAProjekt (Книга1),здесьКнига1 –название активной книги. Выполним Insert > Module.Откроется пустое окно – окно для вставки кода программы, соответствующее вставленному модулю с именем Module1 .

 

Создадим нашу первую программу в Excel. Пусть, для примера программа должна вычислить длину гипотенузы по заданным двум катетам прямоугольного треугольника. Пусть значения длин катетов находятся в ячейках B1 и B2. Результат должен отобразиться в ячейке C2. Наберём в окне кода: Sub Гипотенуза и нажмем клавишу Enter.

VBA автоматически представляет нам шаблон для создания Макроса. Между строками Sub Гипотенуза () и End Sub запишем строки.

Поясним смысл написанного кода программы.

Cells(1, 1) = "a=" : – в ячейку Excel A1 записывается текст "a=";

Cells(2, 1) = "b=": – в ячейку Excel A2 записывается текст "b=";

Cells(3, 1) = "c=": – в ячейку Excel A3 записывается текст "c=";

a = Cells(1, 2) – переменная a принимает значение, записанное в ячейке

Excel B1;

b = Cells(2, 2) – переменная b принимает значение, записанное в ячейке

Excel B2;

c = Sqr(a ^ 2 + b ^ 2) - – переменная c принимает значение, вычисленное

по формуле: ;

Cells(3, 2) = c – в ячейку Excel B3 записывается значение переменной с.

На панели инструментов выполним: Run > Run Sub/UserForm F5.

Получим результат:

 

Другие команды:

“Selection.Copy” - означает “Выделение.Копировать”, то есть копируется выделенная область.

“Range(“C1”).Select” – “Диапазон(“C1”).Выделить” - переход к выделенной ячейке «C1».

«ActiveSheet.Paste» - «АктивныйЛист. Вставить» - вставляется в выделенную ячейку «С1» скопированное значение.