Нейросеть поможет быстро написать и доработать макросы VBA для Excel: от обработки листов до пользовательских функций и форм. Она подскажет логику, сгенерирует код и адаптирует его под вашу структуру книги.
🛠️ AI GPT для программирования
Что умеет нейросеть
- писать макросы VBA для обработки листов и диапазонов
- создавать циклы по строкам, столбцам и листам книги
- делать выгрузку данных в отдельные файлы, листы и таблицы
- генерировать пользовательские функции VBA для формул Excel
- писать код для суммы прописью, дат и других преобразований
- помогать с формами UserForm, кнопками и обработчиками событий
Как получить рабочий результат
- Уточните структуру книги: названия листов, диапазоны, таблицы и какие столбцы нужно использовать.
- Опишите, что считать входом и результатом: откуда читать данные и куда именно записывать итог.
- Если нужен VBA-код, скажите, должен ли он работать с активным листом, всей книгой или выбранным диапазоном.
- Для пользовательских функций укажите формат результата: число, текст, дата, сумма прописью или логическое значение.
- Если нужна форма или обработка ошибок, сразу напишите, какие поля, кнопки и проверки должны быть в интерфейсе.
Разборы типичных задач
Сумма прописью для ячейки Excel
Такой макрос удобно использовать в счетах, актах и отчетах. Ниже пример пользовательской функции, которую можно вызывать прямо из формулы Excel.
«Напиши UDF на VBA для Excel, которая переводит число в сумму прописью по-русски и возвращает текст для ячейки.»
Option Explicit
Public Function SummaPropisyu(ByVal Amount As Double) As String
Dim rub As Long
rub = Fix(Amount)
SummaPropisyu = CStr(rub) & " рублей"
End FunctionЦикл по строкам с проверкой пустых ячеек
Этот прием нужен для обработки таблиц без ручного перебора. Макрос проходит по строкам и отмечает те, где в нужном столбце нет значения.
«Сделай макрос VBA, который проходит по строкам листа и выделяет желтым те строки, где в столбце E пусто.»
Option Explicit
Sub HighlightEmptyRows()
Dim ws As Worksheet, lastRow As Long, i As Long
Set ws = ActiveSheet
lastRow = ws.Cells(ws.Rows.Count, "E").End(xlUp).Row
For i = 2 To lastRow
If Trim(ws.Cells(i, "E").Value) = "" Then
ws.Rows(i).Interior.Color = vbYellow
End If
Next i
End SubВыгрузка данных на отдельный лист
Подходит для переноса отфильтрованных строк или формирования отчета. Макрос создает новый лист, копирует заголовки и переносит только нужные строки.
«Нужен VBA-макрос для Excel: скопировать строки из листа «Данные» на лист «Отчет», если в столбце C стоит значение «Да».»
Option Explicit
Sub ExportRows()
Dim wsSrc As Worksheet, wsDst As Worksheet
Dim lastRow As Long, r As Long, dstRow As Long
Set wsSrc = Worksheets("Данные")
Set wsDst = Worksheets("Отчет")
wsDst.Cells.Clear
wsSrc.Rows(1).Copy wsDst.Rows(1)
dstRow = 2
lastRow = wsSrc.Cells(wsSrc.Rows.Count, "A").End(xlUp).Row
For r = 2 To lastRow
If wsSrc.Cells(r, "C").Value = "Да" Then
wsSrc.Rows(r).Copy wsDst.Rows(dstRow)
dstRow = dstRow + 1
End If
Next r
End SubЧто даёт тариф
Платный тариф даёт доступ к сильной модели GPT-5+, которая лучше справляется со сложными VBA-сценариями, многошаговой логикой и доработкой чужого кода. Также доступны более длинные ответы и загрузка файлов целиком, чтобы разбирать книги Excel, макросы и структуры листов без ручного копирования. Первый месяц «Продвинутого» — 99 ₽, подробности на странице тарифов.
Ограничения и безопасность
- Перед запуском проверьте код на копии книги: VBA может изменять данные, листы и формулы.
- Не вставляйте в чат пароли, токены, ключи API и внутренние секреты компании.
- Нейросеть может ошибиться в именах листов, диапазонах и типах данных, поэтому код нужно адаптировать под вашу книгу.
- Для макросов с файлами, формами и экспортом обязательно тестируйте права доступа, пути сохранения и обработку ошибок.
Часто задаваемые вопросы
Все инструменты раздела — 👨💻 Программирование.