Используем VBA в Excel
Как ни наращивают программисты возможности Excel, все равно находятся пользователи, которым этих возможностей мало. Поэтому в приложениях MS Office (Excel в том числе) можно использовать язык программирования Visual Basic for Application (аббревиатура VBA). О первых шагах работы в VBA вам расскажет эта статья.
Преимуществом среды VBA является то, что программировать можно, не будучи программистом. Например, можно перейти на вкладку Разработчик, инициировать Запись макроса, выполнить какие-либо операции, остановить запись. Первая ваша программа готова. Ее код можно увидеть, если открыть макрос для изменения.
Как разобраться в этой последовательности команд? Во-первых, найдите начало (Sub Таблица ()) и конец (End Sub). Во-вторых, обратите внимание на строки, которые начинаются с апострофов. Это пояснения, они не выполняются, а только информируют вас. В-третьих, если вы не совсем дружите с английским языком, у вас есть прекрасная помощь в виде онлайн переводчиков. Из них вы узнаете, например, что Select означает «выбрать» («выделить»), Range — «диапазон», и т.п.
Можно работать со средой программирования и без использования макрорекордера. Открыть ее окно можно нажатием сочетания ALT и F11, или с помощью соответствующей кнопки на вкладке Разработчик. Как в любом приложении Microsoft, здесь можно настраивать вид окна, включая или отключая какие-либо элементы.
Рассмотрим пример создания отчета. Можно создать кнопку (на вкладке Разработчик есть команда Вставить). При щелчке по кнопке должен формироваться отчет на листе с именем «По группам». Перейти к просмотру или записи программы можно по кнопке Просмотр кода.
В программе должны быть начало и конец (это было показано на первом рисунке). Должны быть объявлены типы данных в строке Dim …As. От этого зависит, что можно будет делать с этими данными (например, нельзя выполнять арифметические операции с текстовыми данными (тип String), для этого они должны быть целыми (Integer) или вещественными (Single или Double)). Можно использовать циклические или ветвящиеся структуры (вспомните школьный курс информатики). На рисунке показано использование таких структур как Do Until … Loop, For …Next, If … Then … Else. Программируя циклы, не забудьте перед тем, как запустить программу (нажать F5), лучше ее сохранить, ведь есть вариант, что программа «зациклится», если в коде оказались ошибки. А это прерывание программы, возможная потеря кода и прочие «неудобности». Необходимо указать, для какого объекта (например, Worksheets — листы книги, Range — диапазон ячеек, Cells — ячейки с адресом) какой метод использовать (например, Clear — очистить, Activate — сделать активной, Value — изменить значение).
Часто удобно комбинировать два варианта работы: часть действий записать макрорекордером, а часть — ввести с клавиатуры в виде программного кода.
Попробуйте работать с VBA, это может стать не только полезным, но и увлекательным занятием. Если в вашей версии Excel не видна вкладка Разработчик, настройте Параметры Excel, и открывайте мир кодов!