VBA в «Экселе»: как это работает и какие задачи можно выполнять
VBA, или Visual Basic for Applications, — это упрощенная версия языка программирования от компании Microsoft. Упрощенный Visual Basic помогает автоматизировать рутинные операции прямо в «Экселе». Расскажем, как этим пользоваться на примере сервиса Google Sheets.
Факт
Как выглядит программирование в Google Sheets
Сервис Google Sheets не работает с Visual Basic for Applications (VBA), потому что это внутренний язык программирования для продуктов Microsoft Office («Ворда», «Экселя» и других). Зато в Google Sheets есть поддержка одного из самых популярных языков в мире — JavaScript. Именно на нем и пишутся программы для таблиц.
Программирование при работе с «Экселем» или Google Sheets помогает выполнять монотонные повторяющиеся задачи. Например, вы записываете траты в сервисе Google Docs и хотите, чтобы они автоматически подтягивались в таблицу. Чтобы не переносить их вручную, можно написать программу на JavaScript. Или вы ведете финансовый учет так, что на одном листе таблицы у вас расписан один месяц, то теперь с помощью программы можно собрать общую статистику по месяцам за несколько лет.
Также программирование используют для решения сложных уникальных задач, для которых в таблицах просто нет встроенного функционала. Например, программистов нанимают компании, которые ведут управленческий учет в Google Sheets и хотят доработать сервис под свои нужды. Таким образом, программирование расширяет функционал сервиса — рамки ограничены только возможностями языка JavaScript.
Стори
С чего начать программирование на VBA или JavaScript
Общий принцип создания программ для личного финансового учета выглядит так. Сначала вы пишете программный код, в котором указываете нужную вам последовательность действий. Например, взять в таблице одну строчку, проверить ее на дубли, и если они есть — удалить, затем взять следующую строчку. Чтобы начать писать программный код, нужно открыть встроенный редактор: нажмите Расширения → Apps Script:
Когда программный код готов — сохраните его. Затем запустите код, когда вам нужно. Например, раз в месяц, чтобы очищать таблицу от дублирующихся записей. Вот пример кода, который можно создать в редакторе:
function myFunction() { var spreadsheet = SpreadsheetApp.getActive(); var sheet = spreadsheet.getActiveSheet(); sheet.getRange(spreadsheet.getCurrentCell().getRow(), 1, 1, sheet.getMaxColumns()).activate(); spreadsheet.getActiveRangeList().setBackground('#4c1130') .setFontColor('#ffffff') .setFontWeight('bold'); spreadsheet.getActiveSheet().setFrozenRows(1);};
Этот код управляет цветом и толщиной шрифта в некоторых ячейках. Для разовой задачи использовать его нерационально. Но если вам постоянно требуется менять оформление ячеек, лучше воспользоваться возможностями языка программирования, чтобы автоматизировать рутину.
Чтобы начать программировать, нужно:
Разбираться в основах JavaScript. Это один из самых популярных языков программирования, поэтому в Интернете достаточно много бесплатных курсов и учебников. Однако как и любой другой язык программирования, он требует наличие технического склада ума.Уметь работать с А1-нотацией. Например, нужно знать, что нотация Range("A1:B5") обращается к диапазону ячеек, а Range("A:A,C:C,F:F") — к столбцам А, С и F.
Таким образом, программирование в Google Sheets упрощает решение задач, но требует от пользователя специальных навыков в области IT.
Что нужно запомнить
VBA — язык программирования для «Экселя». JavaScript — для Google Sheets.Чтобы программировать в Google Sheets, нужно знать основы языка и уметь работать с А1-нотацией.
Кнопка со ссылкой