VBA в «Экселе»: как это работает и какие задачи можно выполнять

VBA, или Visual Basic for Applications, — это упрощенная версия языка программирования от компании Microsoft. Упрощенный Visual Basic помогает автоматизировать рутинные операции прямо в «Экселе». Расскажем, как этим пользоваться на примере сервиса Google Sheets.
VBA в «Экселе»: как это работает и какие задачи можно выполнять
Иллюстрация: Вера Ревина/Клерк.ру

Вместо «Экселя» мы используем сервис Google Sheets, потому что он бесплатный и работает в онлайне: можно пользоваться с компьютера и телефона. Если «Эксель» привычнее — никаких проблем, в нем те же функции. 

Как выглядит программирование в Google Sheets 

Сервис Google Sheets не работает с Visual Basic for Applications (VBA), потому что это внутренний язык программирования для продуктов Microsoft Office («Ворда», «Экселя» и других). Зато в Google Sheets есть поддержка одного из самых популярных языков в мире — JavaScript. Именно на нем и пишутся программы для таблиц. 

Программирование при работе с «Экселем» или Google Sheets помогает выполнять монотонные повторяющиеся задачи. Например, вы записываете траты в сервисе Google Docs и хотите, чтобы они автоматически подтягивались в таблицу. Чтобы не переносить их вручную, можно написать программу на JavaScript.

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

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

Например, программистов нанимают компании, которые ведут управленческий учет в Google Sheets и хотят доработать сервис под свои нужды. Таким образом, программирование расширяет функционал сервиса — рамки ограничены только возможностями языка JavaScript.

Научитесь понимать, откуда приходят и куда уходят деньги компании. Пройдите курс «Управленческий учет: для бухгалтера: от азов до настройки в 1С, Excel, финансового менеджмента и бюджетирования». Сможете грамотно собирать аналитику в таблицах, настраивать 1С, принимать верные управленческие решения. Сейчас вы можете купить курс со скидкой 44% за 7 000 рублей или получить доступ сразу ко всем онлайн-курсам «Клерка» с подпиской Клерк.Премиум на 9 месяцев за 16 900 рублей.

С чего начать программирование на 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-нотацией. 

Начать дискуссию