AI для финансиста

ChatGPT пишет VBA-макросы за финансиста: 7 автоматизаций Excel которые экономят рабочую неделю

Натали Васильева · · 21 мин чтения
Тёмный интерфейс ChatGPT: диалог с запросом на VBA-макрос и готовый код Excel на экране, без людей, UI-рендер на синем фоне

Три часа на сверку выписки с ОСВ вручную. Сорок пять минут на форматирование ежемесячного P&L. Двадцать писем должникам по одному. Ещё год назад это была нормальная рабочая неделя финансиста. Сейчас это потеря целого рабочего дня, который можно вернуть за один вечер с ChatGPT и VBA.

Я Натали Васильева, эксперт по нейросетям и продюсер онлайн-школы «Финансовый директор | Мастер CFO» (45 000 подписчиков в @findir_pro, 800+ выпускников курса AI-навыков). С февраля 2023 года я наблюдаю, как финансисты осваивают нейросети, и VBA-автоматизация через ChatGPT за последний год стала одним из самых частых wow-результатов у тех, кто начинает с нуля.

В этой статье семь конкретных автоматизаций с готовыми промптами, три кейса с цифрами, пошаговая инструкция по запуску первого макроса, разбор типичных ошибок и сравнение VBA с Power Query и Python. Всё актуально на 26 июня 2026 года.

Почему VBA до сих пор актуален для финансиста в 2026 году

Прямой ответ: потому что Excel стоит на каждом финансовом компьютере в России, и VBA встроен в него бесплатно. Никакой отдельной установки, никаких согласований с IT-отделом, никаких облачных подписок.

Power Platform, Python, RPA-роботы требуют внедрения, бюджета, зачастую отдельного сервера и участия IT. VBA запускается прямо в вашем файле на вашем ноутбуке. Финансист в командировке, главбух на удалёнке, финдир стартапа без IT-команды — у всех одинаковый доступ к инструменту.

Вот что умеет VBA из того, чего не умеют ни формулы, ни Power Query:

По наблюдениям за финансовыми отделами среднего бизнеса, от 30 до 50 процентов рутинной работы в Excel поддаётся автоматизации через VBA. До 2023 года барьер был один: нужен программист или несколько лет обучения. Сейчас этот барьер снят.

Важен и экономический аргумент. Сторонний разработчик за несложный макрос берёт от 3 000 до 15 000 рублей и неделю ожидания. Простой макрос через ChatGPT — 2-3 минуты и ноль рублей на разработку. Даже учитывая стоимость платной подписки ChatGPT Plus, первая автоматизация окупается после первого же запуска.

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

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

Что изменилось: ChatGPT пишет VBA за 2 минуты

Раньше написать макрос означало: курс по VBA от 20 часов, документация Microsoft на английском, три часа на StackOverflow, несколько попыток и один полурабочий результат. Теперь это диалог на русском за две-три минуты.

Я протестировала четыре модели на одинаковом наборе задач: форматирование P&L, сверка выписки с ОСВ, рассылка через Outlook, отчёт план-факт. Результат на июнь 2026 года:

GPT-5.5 на chatgpt.com: рабочий код с первого запроса в 8 из 10 случаев при точном описании файла. Сам уточняет, если данных не хватает. Объясняет каждый блок кода на русском.

Claude Sonnet 4.6: сильная вторая позиция. Особенно хорош в сложных макросах с вложенными условиями и циклами. Чаще задаёт уточняющие вопросы перед написанием, что в итоге даёт более точный результат.

Gemini 2.5: справляется с простыми задачами форматирования и сортировки. Сложные сценарии с несколькими листами и внешними взаимодействиями требуют больше итераций.

DeepSeek V3.2: хороший вариант для простых макросов, доступен без специального доступа к сайту. Для продвинутых задач с Outlook-интеграцией уступает GPT-5.5.

Ключевое изменение, которое я наблюдаю у учениц: ChatGPT не просто пишет код, а объясняет каждую строку. Через две-три недели работы финансисты начинают читать VBA-код и понимать, что он делает. Это не программирование в классическом смысле, но это уже не чёрный ящик. Страх перед кодом исчезает.

Как правильно описать Excel-файл ChatGPT чтобы получить рабочий код

Схема: четыре блока описания Excel-файла для ChatGPT — структура книги, структура таблицы, задача макроса, ограничения
Формула точного описания файла: четыре блока, 3 минуты работы, первый рабочий код без лишних итераций

Главная причина, по которой макрос не работает с первого раза — расплывчатое описание файла. ChatGPT не видит ваш Excel. Он видит только текст, который вы написали. Чем точнее текст, тем точнее код.

Блок 1. Структура книги. Количество листов, их точные названия с учётом регистра и пробелов. На каком листе данные, на каком результат.

Блок 2. Структура таблицы. Заголовки столбцов и их буквы (A, B, C…). С какой строки начинаются данные (обычно 2, если строка 1 — заголовок). Примерное количество строк.

Блок 3. Задача макроса. Что именно должен делать макрос, конкретно и по шагам. Какой результат ожидаете на выходе.

Блок 4. Ограничения. Что трогать нельзя. Нужно ли подтверждение перед запуском. Особые условия.

Вот универсальный шаблон промпта:

Напиши VBA-макрос для Excel.

Структура файла:
- Книга содержит два листа: "Выписка" и "ОСВ"
- Лист "Выписка": A — дата, B — контрагент, C — сумма,
  D — назначение платежа. Данные с строки 2, заголовки в строке 1. Около 200 строк.
- Лист "ОСВ": A — контрагент, B — сальдо начальное,
  C — обороты дебет, D — обороты кредит, E — сальдо конечное.
  Данные с строки 2. Около 80 строк.

Задача (по шагам):
1. Сравнить данные листа "Выписка" и "ОСВ" по названию контрагента.
2. Если контрагент из выписки не найден в ОСВ — залить строку жёлтым.
3. Если сумма по контрагенту из выписки не совпадает с оборотом кредит
   в ОСВ с погрешностью плюс-минус 1 рубль — залить строку красным.

В начале работы показать диалог: "Запустить сверку?"
Лист ОСВ только читать, не изменять.

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

Самая частая ошибка: написать “в столбце с датами” вместо “в столбце A — дата”. ChatGPT угадывает, и угадывает не всегда. Называйте буквы столбцов явно.

Автоматизация 1. Форматирование ежемесячного отчёта за 2 минуты

Сколько времени экономит: 40-60 минут ежемесячно. За год 8-12 часов.

Форматирование отчёта вручную — выравнивание ширины столбцов, цвет шапки, жирные итоги, скрытие нулевых строк, нужный шрифт и рамки. У каждого финансиста своя система, но занимает она каждый раз одинаково долго. Макрос делает всё за один клик и всегда одинаково.

Напиши VBA-макрос для форматирования P&L-отчёта на листе "P&L".

Структура листа:
- Строка 1: заголовок отчёта (объединённые ячейки A1:F1)
- Строка 2: заголовки столбцов (A2 — "Статья", B2:G2 — месяцы Jan..Jun)
- Столбец A (строки 3-30): названия статей P&L
- B3:G30: числовые данные
- Строки 5, 12, 20, 28: итоговые (содержат слово "Итого" в столбце A)

Что должен делать макрос:
1. Шрифт Calibri 11pt для всего листа
2. Шапку (строка 2): синий фон (#1F4E79), белый жирный шрифт
3. Итоговые строки (5, 12, 20, 28): серый фон (#F2F2F2), жирный шрифт
4. Числовые ячейки B3:G30: формат "# ##0" (с разделителем тысяч, без копеек)
5. Строки, где все числа в B:G равны нулю: скрыть
6. Выровнять ширину столбцов по содержимому
7. Внешняя рамка вокруг диапазона A1:G30

Данные не удалять, только форматирование.
В начале показать диалог подтверждения.

Лайфхак: после того как макрос заработал, попросите ChatGPT добавить кнопку запуска прямо на лист. Напишите в чате: “Добавь в этот макрос код, который создаст кнопку на листе P&L с надписью ‘Форматировать’ и привяжет к ней этот макрос.” Никакого Alt+F11 больше, просто кнопка прямо в таблице.

Типичная ошибка при первом запуске этого макроса: строки не скрываются, хотя в них нули. Причина — данные выгружены из 1С и хранятся как текст “0”, а не число 0. ChatGPT это исправит, если написать: “Макрос не скрывает строки с нулями. Возможно, нули хранятся как текст. Добавь конвертацию в начало.” Он добавит блок Val() или CDbl() для преобразования.

Автоматизация 2. Сверка банковской выписки с ОСВ за 20 минут

Сколько времени экономит: 2-2.5 часа ежемесячно. Плюс снятый риск пропустить задвоенный платёж.

Три часа ручной сверки превращаются в 25 минут: 4-5 минут на автоматическую разметку и 20 минут на разбор выделенных расхождений. Главная ценность: расхождения видны сразу, не нужно их искать.

Напиши VBA-макрос для сверки банковской выписки с данными ОСВ.

Лист "Выписка": A — дата, B — контрагент, C — сумма (поступления +, списания —),
D — вид операции. Данные с строки 2.
Лист "ОСВ": A — контрагент, E — сальдо конечное. Данные с строки 3.

Логика сверки:
1. По каждому уникальному контрагенту из "Выписки" суммировать все поступления (C > 0).
2. Найти этого контрагента в "ОСВ" (поиск по вхождению через InStr, не точное совпадение).
3. Сравнить суммарные поступления с сальдо конечным.
4. Контрагент не найден в ОСВ — строки в выписке залить жёлтым (#FFFF00).
5. Сумма расходится более чем на 100 рублей — строки залить красным (#FF0000).
6. Расхождений нет — строки залить зелёным (#00FF00).

После завершения показать сообщение:
"Сверка завершена. Расхождений: [N]. Не найдено в ОСВ: [M]."

Показать диалог подтверждения в начале.
Лист "ОСВ" не изменять.

Важное уточнение по строчке “поиск по вхождению через InStr”: она решает проблему расхождения “ООО Ромашка” в выписке и “Ромашка ООО” в ОСВ. Без этого указания ChatGPT напишет поиск по точному совпадению, и половина реальных совпадений потеряется.

Ещё одна частая проблема: у вас несколько выписок за разные счета (расчётный, валютный, депозитный). Попросите ChatGPT добавить параметр — пользователь выбирает лист с выпиской из выпадающего списка, и макрос применяется к нужному. Это пять строк кода, но сильно упрощает работу при множественных счетах.

Автоматизация 3. Рассылка уведомлений должникам через Outlook

Excel: таблица с реестром должников, кнопка рассылки, открытый Outlook с черновиками писем по каждому контрагенту
40 писем должникам из Excel через Outlook за 7 минут вместо часа ручной работы

Сколько времени экономит: 33-53 минуты каждый цикл рассылки. Плюс единообразный тон всех писем.

Это самая популярная автоматизация у выпускников нашей школы. Сорок писем за 30 секунд против 40-60 минут ручной работы. Что нужно: таблица должников в Excel и Outlook, установленный и настроенный на том же компьютере.

Напиши VBA-макрос, который рассылает уведомления должникам через Outlook.

Лист "Должники":
A — название контрагента, B — ИНН, C — сумма долга в рублях,
D — дата возникновения долга, E — email для письма,
F — статус (пустая если не отправлено, "Отправлено" если уже получил).
Данные с строки 2 до последней непустой строки в столбце A.

Логика:
1. Перебрать строки данных. Пропустить строки, где F = "Отправлено".
2. Для каждой необработанной строки создать письмо в Outlook:
   Кому: значение из столбца E
   Тема: "Уведомление о задолженности - [значение из столбца A]"
   Тело письма:
   ---
   Уважаемые коллеги,

   Обращаем внимание на наличие задолженности перед нашей компанией
   в размере [столбец C, формат # ##0 руб.] по состоянию на [сегодняшняя дата].
   Дата возникновения обязательства: [столбец D].

   Просим произвести оплату или связаться с нами для урегулирования вопроса.

   С уважением, Финансовый отдел
   ---
3. Письмо НЕ отправлять автоматически, сохранить как черновик в Drafts.
4. После обработки строки поставить в F значение "Отправлено", в G — дату.

В начале показать выбор: "Сохранить как черновики" или "Отправить сразу".
Если email в строке E пустой — строку пропустить.

Режим “черновик” критически важен при первом запуске. Проверьте 2-3 письма вручную: правильный ли текст, верный ли формат суммы, корректные ли email-адреса. Только после проверки переходите на режим автоотправки.

Дополнительная возможность: попросите ChatGPT добавить в тело письма вложение. Например, “Прикрепи к каждому письму акт сверки, имя файла: Акт_[контрагент].xlsx из той же папки”. Это требует чуть более сложного кода с FileSystemObject, но ChatGPT напишет с первого раза если точно описать путь к файлам и формат имён.

Нюанс для корпоративных почтовых систем: если у вас не Microsoft Outlook, а другой почтовый клиент (например, Яндекс 360 в корпоративном варианте), VBA-интеграция не сработает напрямую. В этом случае ChatGPT может написать альтернативный вариант через CDO (Collaboration Data Objects) с SMTP-сервером вашей компании.

Автоматизация 4. Отчёт план-факт с расчётом отклонений

Сколько времени экономит: 55-80 минут ежемесячно при ручном построении таблицы план-факт.

Классика финансового директора: сравнить план и факт, посчитать абсолютное и процентное отклонение, выделить статьи с превышением. С макросом это 5-7 минут вместо полутора часов.

Напиши VBA-макрос для создания отчёта план-факт.

Входные данные на листе "Данные":
- Столбец A: название статьи бюджета
- Столбец B: план (числа)
- Столбец C: факт (числа)
- Строка 1: заголовки ("Статья", "План", "Факт"). Данные с строки 2.
- Строк от 10 до 50 (определять динамически).

Задача:
1. Создать новый лист "Отчёт_ММГГ" (ММ — текущий месяц цифрами, ГГ — год).
2. Скопировать данные с листа "Данные".
3. Добавить столбец D "Отклонение руб." = Факт минус План.
4. Добавить столбец E "Отклонение %" = (Факт — План) / Абс(План) * 100.
   Формат: 0.0 с символом процента.
5. Добавить столбец F "Исполнение" = Факт / План. Формат: 0%.
6. Строки где "Отклонение %" < -10%: залить красным фоном (#FFCCCC).
7. Строки где "Отклонение %" > +10%: залить жёлтым фоном (#FFFFCC).
8. В пределах +-10%: без заливки.
9. Итоговая строка после последней статьи: суммы по B, C, D.
10. Шапка: тёмно-синий фон (#1F4E79), белый шрифт, жирный.
11. Числовой формат: # ##0 для рублей.

Если лист уже существует — удалить и создать заново.
В начале спросить подтверждение.

Начинайте тестировать на копии файла с 5-10 строками. Убедитесь, что формулы считают верно и форматы отображаются корректно, затем подключайте к основному файлу.

Полезное расширение: попросите ChatGPT добавить в макрос экспорт готового отчёта в PDF. Добавьте в конец промпта: “После форматирования сохранить лист ‘Отчёт_ММГГ’ как PDF в ту же папку, что и книга, с именем ‘ПланФакт_ММГГ.pdf’.” GPT-5.5 добавит ExportAsFixedFormat — это пять строк, и отчёт сразу готов к отправке руководителю без ручного экспорта.

Автоматизация 5. Расчёт зарплаты с НДФЛ и страховыми взносами

Предупреждение: макрос рассчитывает по ставкам НДФЛ 2026 года. Ставки нужно проверять при каждом изменении налогового законодательства и актуализировать в коде. Нейросеть не обновляет их автоматически.

Макрос полезен для небольших компаний до 40-50 человек, где расчёт ведётся в Excel, а не в специализированной системе.

Напиши VBA-макрос для предварительного расчёта зарплаты.

Лист "Сотрудники":
A — ФИО (для теста: "Сотрудник 1", "Сотрудник 2")
B — оклад в рублях
C — фактически отработанные дни в месяце
D — количество рабочих дней в расчётном месяце
E — доход нарастающим итогом с начала года (до текущего месяца)
Данные с строки 2.

Рассчитать для каждого сотрудника:
1. Начисленную зарплату = B * (C / D). Округлить до рублей.
2. Ставку НДФЛ (актуальна на 2026 год, проверяйте перед использованием):
   - До 2 400 000 руб. нарастающим итогом — 13%
   - От 2 400 000 до 5 000 000 — 15%
   - Свыше 5 000 000 — 22%
3. НДФЛ = Начисленная зарплата * Ставка. Округлить до рублей.
4. К выплате = Начисленная зарплата — НДФЛ.
5. Страховые взносы работодателя = Начисленная зарплата * 0.30
   (до предельной базы, уточните актуальный размер базы).

Записать результаты в столбцы G:K:
G — Начислено, H — НДФЛ, I — К выплате, J — Взносы, K — Ставка НДФЛ.

Итоговая строка: суммы по G:J.

В начале показать предупреждение:
"Проверьте актуальность ставок НДФЛ перед использованием. Расчёт носит справочный характер."

Данные в A:E не изменять.

Это расчётный инструмент, а не учётная система. Финальные цифры всегда проверяет бухгалтер по нормам НК РФ на дату начисления.

Практический совет: если в компании есть сотрудники с правом на налоговые вычеты (стандартные вычеты на детей), попросите ChatGPT добавить дополнительный столбец “Вычет” и скорректировать расчёт НДФЛ. Это добавит 15-20 строк кода, но модель справится. Для более сложных случаев (имущественные вычеты, инвестиционные) лучше оставить дополнительный ручной расчёт и использовать макрос только для базового начисления.

Автоматизация 6. Реестр договоров с автообновлением статусов

Excel: реестр договоров с цветовым обозначением статусов — зелёный завершён, красный просрочен, жёлтый истекает через 30 дней
Реестр договоров после запуска макроса: статусы обновлены за секунды, просроченные видны сразу

Сколько времени экономит: не столько часы, сколько контроль. Реестр договоров без автообновления — мёртвый документ. С макросом — живой инструмент.

Запускаете каждое утро одной кнопкой и сразу видите: что просрочено, что истекает в ближайшие 30 дней, что закрыто.

Напиши VBA-макрос для автообновления статусов в реестре договоров.

Лист "Реестр":
A — номер договора, B — контрагент, C — дата начала, D — дата окончания,
E — сумма договора, F — оплачено накопительно, G — статус.
Данные с строки 2.

Логика присвоения статусов (обновить в столбце G):
- "Завершён" — дата окончания (D) < сегодня И доля оплаты (F/E) >= 0.95
- "Просрочен" — дата окончания (D) < сегодня И доля оплаты (F/E) < 0.95
- "Истекает через 30 дней" — дата окончания >= сегодня И <= сегодня + 30 дней
- "Активен" — во всех остальных случаях

Форматирование ячейки в столбце G:
- "Завершён" — зелёный фон (#C6EFCE)
- "Просрочен" — красный фон (#FFC7CE), жирный шрифт
- "Истекает через 30 дней" — оранжевый фон (#FFEB9C)
- "Активен" — без заливки

После обновления показать итог:
"Обновлено: [N] договоров. Просрочено: [N]. Истекает в 30 дней: [N]."

После того как макрос заработает, добавьте кнопку “Обновить статусы” прямо на лист реестра. Одно нажатие утром — актуальная картина по всей договорной базе.

Расширение для финансового контроля: попросите ChatGPT добавить второй макрос, который отправляет письмо ответственному менеджеру по просроченным договорам. Логика простая: перебрать строки со статусом “Просрочен”, взять email ответственного из соседнего столбца (добавьте его в реестр), отправить уведомление. Это объединяет автоматизацию 3 (рассылка) и автоматизацию 6 (реестр) в одну цепочку.

Автоматизация 7. Чек-лист закрытия месяца с автостатусами

Сколько времени экономит: контроль над 15-25 задачами вместо звонков каждому ответственному.

Закрытие месяца — сверки, начисления, проводки, согласования. Обычно это записки в телефоне или разрозненные напоминания. Макрос превращает это в управляемый дашборд.

Напиши VBA-макрос для управления чек-листом закрытия периода.

Лист "Чек-лист":
A — порядковый номер задачи
B — название задачи
C — ответственный
D — срок (дата)
E — статус (вводится вручную: "Выполнено" или пусто)
F — фактическая дата выполнения (заполняется автоматически)
Данные с строки 2.

Макрос "Обновить статусы":
1. Для строк где E = "Выполнено" и F пустое: записать в F текущую дату.
2. Строки со статусом "Выполнено": залить зелёным (#C6EFCE).
3. Строки где срок (D) < сегодня и E пустое: залить красным (#FFC7CE). Это просрочено.
4. Строки где срок в следующие 3 дня и E пустое: залить жёлтым (#FFEB9C).
5. В ячейку I1 вывести: "Выполнено: X из Y задач (Z%)"

Отдельный макрос "Новый период":
- Очистить столбцы E и F
- Прибавить ровно 1 месяц к каждой дате в столбце D
- Показать: "Чек-лист сброшен. Новые сроки установлены."
- Перед выполнением спросить подтверждение: это действие нельзя отменить.

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

Расширенная версия: попросите ChatGPT добавить автоматическую отправку ежедневного дайджеста ответственным. Каждое утро макрос проверяет просроченные задачи и отправляет каждому ответственному (из столбца C) письмо со списком его задач, которые уже просрочены или истекают завтра. Это потребует объединения макроса с логикой из автоматизации 3 (Outlook), но ChatGPT напишет обе части в одном коде если описать задачу целиком.

Три кейса: сколько часов и рублей экономят наши выпускники

Кейс 1. Финансовый директор производственной компании, Екатеринбург.

Ежемесячное закрытие занимало три дня: P&L, ОДС, план-факт, сводка для собственника, презентация для совета директоров. После внедрения четырёх макросов из этой статьи (форматирование, план-факт, сверка, чек-лист закрытия) цикл сократился до полутора дней.

Конкретная экономия: 48 часов в год на механических операциях. Дополнительный эффект: отчёты стали визуально единообразными, количество уточняющих вопросов от собственника сократилось вдвое.

Кейс 2. Главный бухгалтер торговой компании, Москва. 120 контрагентов ежемесячно.

Сверка банковской выписки с ОСВ занимала 2.5-3 часа каждый месяц. После внедрения макроса: 4 минуты автоматической разметки и 20 минут на разбор реальных расхождений. С 2.5 часов до 24 минут.

Экономия: 26 часов в год. При стоимости рабочего времени главбуха 2 500 рублей в час — 65 000 рублей в год высвобождённого времени, которое теперь уходит на аналитику и разговор с руководителем.

Кейс 3. Финансовый менеджер IT-компании, Санкт-Петербург. Дебиторская задолженность.

80 контрагентов в реестре дебиторки, уведомления раз в две недели. До макроса: 45-60 минут на ручные письма. После: 7 минут (запуск, просмотр черновиков, отправка). Экономия: около 17 часов в год.

Дополнительный эффект: письма стали единообразными по тону и структуре, уменьшилось количество недопонимания с контрагентами о формулировках требований.

Отдельный момент про отладку в кейсе 2: ошибка с форматом дат — очень распространённая ситуация при работе с банковскими выгрузками. Разные банки отдают даты по-разному: одни как “31.03.2026”, другие как “2026-03-31”, третьи как “31 марта 2026” текстом. Если ваша банковская выписка выгружается в нестандартном формате, добавьте это в промпт: “Дата в столбце A хранится как текст в формате ‘31 марта 2026’. Конвертируй в дату перед сравнением.” GPT-5.5 напишет правильный парсер с первого раза.


Подпишись на Telegram-канал @findir_pro: каждую неделю промпты, кейсы и разборы автоматизаций для финансистов. Без воды и без рекламы.


Как исправить ошибку в макросе через ChatGPT

Диалог ChatGPT: пользователь вставляет текст ошибки VBA и получает исправленный код с объяснением причины
Алгоритм исправления ошибки: скопировать текст ошибки, вернуться в ChatGPT, получить исправленный код за одну итерацию

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

Шаг 1: прочитайте текст ошибки (например, “Run-time error ‘1004’: Application-defined or object-defined error”). Шаг 2: в редакторе VBA жёлтым выделена строка, где остановился макрос. Запишите или скопируйте её. Шаг 3: вернитесь в ChatGPT с таким промптом:

Макрос выдаёт ошибку. Вот оригинальный код:
[вставьте весь код]

Текст ошибки: Run-time error '1004': Application-defined or object-defined error
Ошибка возникает на строке:
Sheets("Выписка").Range("A1").Select

Уточнение по файлу: лист называется "Выписка " (с пробелом в конце).
Исправь код и объясни, в чём была ошибка.

Обратите внимание на деталь: лишний пробел в имени листа — одна из самых частых причин ошибки 1004. ChatGPT исправляет такие вещи мгновенно, но вам нужно заметить расхождение между кодом и реальным файлом.

Пять самых частых ошибок и их причины:

ОшибкаЧто означаетКак описать ChatGPT
Error 1004Неверное имя листа или диапазонаСообщите точное имя листа с учётом регистра
Error 9: Subscript out of rangeЛист или книга с таким именем не найденыПроверьте и уточните имена листов
Error 91: Object variable not setПустая ячейка там, где ожидались данныеУкажите, что делать при пустых ячейках
Error 13: Type mismatchВ числовом столбце оказался текст или пустая ячейкаПопросите добавить проверку типа данных
Error 400Проблема с диалоговым окном или формойОпишите, какое сообщение появляется

Все пять решаются за одно сообщение в ChatGPT при правильном описании.

VBA vs Power Query vs Python: что выбрать финансисту

Это не соревнование. Три разных инструмента для трёх разных типов задач.

ПараметрVBAPower QueryPython
Установкавстроен в Excelвстроен в Excel 2016+отдельно, требует настройки
Порог входа с ChatGPTнизкийсреднийвысокий
Автоматизация действийотличноне умеетчерез скрипт
Трансформация данныххорошоотличноотлично
Отправка писем через Outlookданетчерез библиотеки
Создание и сохранение файловданетда
Взаимодействие с UI Excelполноеограниченноеограниченное
Большие данные (1M+ строк)медленнохорошоочень быстро
Автообновление при изменении источникатребует запускаавтоматическизависит от скрипта
IT-отдел нужен?нетнетобычно да

Мой вывод: если задача — автоматизировать действия (форматирование, рассылки, создание файлов, кнопки на листах), берите VBA. Если нужно загрузить и преобразовать данные из нескольких источников, берите Power Query. Если данных миллионы строк или нужна интеграция с внешними сервисами — это уже IT-проект.

Для финансиста среднего бизнеса, который работает один или в небольшой команде, VBA закрывает 80% задач автоматизации без участия IT.

Что ChatGPT не умеет в VBA и когда нужен программист

Честный ответ на вопрос, который задают всегда.

ChatGPT пишет надёжно:

ChatGPT пишет с частыми ошибками:

Когда нужен программист:

Для задач, которые решаются одним макросом и работают на вашем компьютере, ChatGPT справляется надёжно. Это 90% того, что нужно финансисту в ежедневной работе.

Безопасность: что описывать в промпте и что не загружать

Два вопроса, которые задают всегда.

Первый: безопасно ли описывать структуру файла в ChatGPT?

Да, если вы описываете структуру словами (“в столбце A — контрагент, в B — сумма”), а не вставляете реальные данные. Реальные ИНН, суммы, имена клиентов и другие данные, составляющие налоговую или коммерческую тайну, в публичную нейросеть не отправляем. Подробно об обезличивании данных — в отдельной статье блога.

Второй: безопасен ли VBA-код из ChatGPT?

Код, который пишет ChatGPT, работает только в вашем файле на вашем компьютере. Он не отправляет данные никуда (если только вы не просили макрос делать HTTP-запросы к внешним сервисам). Но VBA имеет права локального пользователя: может удалять данные без предупреждения. Три правила безопасности:

Настройка безопасности макросов: Файл, Параметры, Центр управления безопасностью, Параметры макросов, выберите “Отключить все макросы с уведомлением”. В этом режиме Excel спрашивает разрешения перед каждым запуском.

Пошаговый чек-лист: первые три автоматизации за неделю

  1. День 1. Выберите одну задачу для старта. Лучший выбор — форматирование ежемесячного отчёта. Риск минимальный (данные не изменяются), результат виден сразу.

  2. День 1. Откройте ChatGPT на chatgpt.com и опишите файл по формуле из раздела выше: названия листов, буквы столбцов, номера строк, задача, ограничения.

  3. Перед запуском: сохраните файл-оригинал в резервную копию. Всегда, без исключений.

  4. Вставьте код в редактор VBA (Alt+F11, Insert, Module, Ctrl+V). Сохраните файл как .xlsm.

  5. Запустите на тестовой копии файла, не на оригинале. Убедитесь, что результат правильный.

  6. Исправьте ошибки при наличии: скопируйте текст, вернитесь в ChatGPT, попросите исправить.

  7. Добавьте кнопку на лист для запуска без Alt+F11.

  8. Сохраните рабочий код в личную библиотеку (заметка или папка с файлами).

  9. День 3-4. Добавьте вторую автоматизацию. Рекомендую сверку или план-факт в зависимости от того, что занимает больше времени в вашей практике.

  10. День 6-7. Добавьте третью. Через неделю у вас три работающих макроса и первый реальный результат по экономии времени.

Больше про AI в работе финансиста: ChatGPT для финансиста и бухгалтера, промпты для бухгалтера, Claude для финансиста, n8n для автоматизации финотдела.

Три канала онлайн-школы для финансистов

@findir_pro (45 000 подписчиков) — основной Telegram-канал онлайн-школы «Финансовый директор | Мастер CFO». Промпты для финансиста, разборы инструментов, новости AI применительно к финансовой профессии. Выходит ежедневно.

АИ с Софьей и Натали (13 000 подписчиков) — канал, где основатель школы Софья Бурцева и я разбираем свежие модели, делимся личными экспериментами, публикуем то, что не вписывается в формат основного канала. Если интересны нюансы и технические детали, это туда.

MAX (5 000+ участников) — закрытое сообщество для практиков. Разборы в реальном времени, нетворкинг с коллегами-финансистами, ранний доступ к новым материалам школы.

Курс «AI-навыки финансиста»: 10 модулей, 800+ выпускников, обучение на реальных финансовых задачах с обратной связью. Диплом государственного образца с лицензией, налоговый вычет 13% доступен. Подробности на fin-academy.pro/ai.

Часто задаваемые вопросы

Нужно ли знать программирование, чтобы использовать ChatGPT для написания VBA-макросов? +
Нет. Вы описываете задачу на обычном русском языке: что за таблица, какие листы, что должен делать макрос. ChatGPT пишет код, вы вставляете его в редактор VBA (Alt+F11, затем Insert, затем Module) и запускаете. Единственное что нужно уметь: точно описать структуру своего файла. Шаблон описания есть в статье.
Как вставить макрос из ChatGPT в Excel и запустить его? +
Откройте Excel. Нажмите Alt+F11, откроется редактор Visual Basic. В меню выберите Insert, потом Module. Скопируйте код из ChatGPT и вставьте в окно модуля (Ctrl+V). Нажмите F5 или кнопку Run. Перед этим убедитесь, что файл сохранён в формате .xlsm (Excel с поддержкой макросов), иначе при сохранении Excel предупредит об удалении кода.
Безопасны ли VBA-макросы из ChatGPT: могут ли они навредить файлу? +
Могут при неосторожном запуске. Правило одно: всегда делайте резервную копию файла перед запуском нового макроса. VBA может удалять и перезаписывать данные без предупреждения и без возможности отмены через Ctrl+Z. Код из ChatGPT просматривайте перед запуском: если видите Delete, ClearContents, EntireRow.Delete без условий, уточните у ChatGPT, что именно будет удалено.
Какие задачи финансиста VBA закрывает лучше, чем Power Query или формулы? +
VBA выигрывает там, где нужна автоматизация действий, а не только вычисления: форматирование по условию, отправка писем через Outlook, создание и сохранение файлов, копирование данных между листами и книгами. Power Query лучше для трансформации данных из источников. Формулы не взаимодействуют с внешними программами. Это три разных инструмента, каждый для своего типа задач.
Сколько времени реально экономит VBA-автоматизация у финансиста? +
По практике учениц нашей школы: форматирование ежемесячного отчёта сокращается с 45 минут до 2, сверка выписки с ОСВ с 2.5 часов до 25 минут, рассылка уведомлений должникам с 40-60 минут до 7. Семь автоматизаций из этой статьи в сумме дают 8-14 часов экономии в неделю.
Что делать, если макрос выдаёт ошибку? +
Скопируйте текст ошибки целиком из диалогового окна VBA. Вернитесь в ChatGPT и напишите: 'При запуске макроса получила ошибку [вставьте текст]. Вот строка с ошибкой: [строка кода]. Исправь.' В 80% случаев модель исправляет с первого раза. Если ошибка повторяется, добавьте уточнение о структуре файла: какой лист активен, какой диапазон данных.
Работает ли ChatGPT для написания скриптов в Google Таблицах? +
Google Таблицы используют Google Apps Script (JavaScript), а не VBA. ChatGPT пишет и Apps Script, но нужно явно указать в промпте: 'напиши скрипт для Google Apps Script, не VBA'. Вставляется через Инструменты, Редактор скриптов. Логика та же, синтаксис другой. В этой статье разбираем только Excel VBA.
Как защититься от случайного запуска макроса и потери данных? +
Три правила. Первое: резервная копия файла перед запуском нового кода. Второе: попросите ChatGPT добавить в начало макроса диалог подтверждения (MsgBox 'Запустить макрос?', vbYesNo). Третье: для операций с удалением просите ChatGPT сначала показывать список того, что будет удалено, и только потом запрашивать подтверждение.