AI University / Промпты / Excel, 1С и данные
Excel, 1С и данные

Промпт: макрос VBA для рутинной задачи

Макрос Excel с комментариями и инструкцией по запуску. Готовый промт на русском: скопируйте, подставьте свои данные и вставьте в GigaChat, YandexGPT, ChatGPT, Claude или Gemini.

Проверено на: GigaChatChatGPTClaudeGemini · Обновлено 01.10.2026

Текст промпта

Напиши макрос VBA для Excel: {task}. Данные: {data}. Требования: комментарии на русском к каждому блоку, проверка, что нужный лист существует, сообщение по окончании со счётчиком обработанных строк, без удаления исходных данных. После кода: как вставить и запустить макрос по шагам и как сделать кнопку на листе.

Что подставить в промт

ПолеПример
{task}разнести строки с основного листа по отдельным листам по значению в столбце «Менеджер»
{data}лист «Продажи», заголовки в строке 1, столбец C — Менеджер, до 5000 строк

Ответы нейросетей на этот промпт

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

GigaChat 2 Max01.10.2026
Макрос VBA для распределения строк по менеджерам
Sub РаспределениеПоМенеджерам()
    Dim wsSource As Worksheet ' Лист-источник (лист Продажи)
    Dim wsTarget As Worksheet ' Целевой лист (где будет размещаться результат)
    
    Dim LastRow As Long       ' Последняя заполненная строка
    Dim i As Long             ' Счётчик циклов по строкам
    Dim ManagerName As String ' Имя менеджера
    Dim CountRows As Long     ' Количество обработанных записей
    
    Set wsSource = ThisWorkbook.Worksheets("Продажи") ' Указываем источник данных
    
    Application.ScreenUpdating = False ' Отключаем обновление экрана во время выполнения макроса
    
    LastRow = wsSource.Cells(wsSource.Rows.Count, "C").End(xlUp).Row ' Определяем последнюю строку с данными
    
    For i = 2 To LastRow ' Начинаем цикл обработки строк начиная со второй строки (первая содержит заголовок)
        ManagerName = Trim(wsSource.Cells(i, "C").Value) ' Получаем имя менеджера из текущей строки
        
        If Len(ManagerName) > 0 Then ' Проверяем наличие имени менеджера
            On Error Resume Next ' Если возникнут ошибки при создании листа, игнорируем их временно
            
            Set wsTarget = Nothing ' Обнуляем целевую рабочую область перед проверкой её существования
            Set wsTarget = ThisWorkbook.Sheets(ManagerName) ' Пробуем найти лист с именем текущего менеджера
            
            On Error GoTo 0 ' Возвращаемся к стандартной обработке ошибок после проверки наличия листа
            
            If wsTarget Is Nothing Then ' Если лист ещё не существует, создаём новый лист
                With ThisWorkbook
                    .Sheets.Add After:=.Sheets(.Sheets.Count) ' Создаём новый лист после последнего существующего
                    ActiveSheet.Name = ManagerName           ' Назначаем новому листу имя менеджера
                    
                    ' Копируем шапку таблицы на вновь созданный лист
                    wsSource.Range("A1:E1").Copy Destination:=ActiveSheet.Range("A1")
                End With
                
                Set wsTarget = ThisWorkbook.Sheets(ManagerName) ' Перезаписываем переменную целевой рабочей области новым листом
            End If
            
            ' Добавляем данные текущей строки на соответствующий менеджерский лист
            wsSource.Rows(i).Copy Destination:=wsTarget.Cells(wsTarget.Rows.Count, "A").End(xlUp).Offset(1, 0)
            
            CountRows = CountRows + 1 ' Увеличиваем счетчик обработанных строк
        End If
    Next i
    
    MsgBox "Обработано " & CountRows & " строк.", vbInformation, "Распределение завершено"
    
    Application.ScreenUpdating = True ' Включаем отображение изменений на экране обратно
End Sub

Пошаговая инструкция для добавления и запуска макроса:
Шаг 1. Открытие редактора Visual Basic (VBE):
  1. В открытом файле Excel перейдите на вкладку «Разработчик» → нажмите «Visual Basic».

🔹 Если вкладка «Разработчик» отсутствует: откройте меню Файл → Параметры → Настроить ленту → установите флажок напротив пункта «Разработчик».

Либо используйте сочетание клавиш <kbd>Alt+F11</kbd>.

Шаг 2. Создание модуля:
  1. В редакторе VBE выберите проект вашего файла (Project Explorer слева).
  2. Щёлкните правой кнопкой мыши по названию проекта (обычно VBAProject) → выберите пункт «Insert» («Вставить») → «Module» («Модуль»).
Шаг 3. Вставка макроса:
  1. Скопируйте приведённый выше код и вставьте его в окно нового модуля.
Шаг 4. Запуск макроса вручную:
  1. Вернитесь в интерфейс Excel (<kbd>Alt+Q</kbd>) и снова зайдите на вкладку «Разработчик».
  2. Нажмите кнопку «Макросы», выберите ваш макрос (РаспределениеПоМенеджерам), кликните «Выполнить».

Как создать кнопку на листе для быстрого запуска макроса?
Шаг 1. Создание кнопки:
  1. Активируйтесь на нужном листе Excel.
  2. Перейдите на вкладку «Разработчик» → инструмент «Форма» (или через панель инструментов справа: кнопка с изображением маленького квадратика и стрелочки).
  3. Нарисуйте прямоугольник-кнопку на рабочем листе там, где удобно.
Шаг 2. Связывание кнопки с макросом:
  1. Кликните дважды по нарисованной кнопке, откроется окно назначения макросов.
  2. Выберите макрос РаспределениеПоМенеджерам и подтвердите выбор нажатием ОК.

Теперь вы можете запускать макрос простым кликом по этой кнопке.

Советы

Как пользоваться
  1. Скопируйте промпт кнопкой выше.
  2. Замените поля в фигурных скобках своими данными.
  3. Отправьте в нейросеть и сравните ответ с примером на этой странице.

Подробнее о структуре хорошего запроса: гид AI University.

Набор по теме: процесс целиком

Набор из 5 шаговОтчёт руководителю из сырых данныхОчистка выгрузки, сводная, анализ, дашборд и презентация на 5 слайдов. 5 шагов от таблицы до решения.

Похожие промпты

БесплатноФормула Excel по описанию задачиГотовая формула для Excel или Google Таблиц с объяснением.БесплатноРазбор выгрузки из 1СПлан обработки выгрузки 1С в Excel: очистка, сводная, выводы.БесплатноSQL-запрос по описаниюЗапрос к базе данных по словесному описанию с проверкой.

Промпты работают лучше, когда понимаешь модель

56 официальных курсов Anthropic, OpenAI, Google и других на русском: первые уроки бесплатно, без VPN. Наборы промптов входят в полный доступ.

Полный доступ за 4 900 ₽