Генератор макросов VBA для Excel

Выберите задачу из 50+ макросов, задайте имена листов, столбцы и диапазоны и скопируйте аккуратный код VBA с объявленными переменными и обработчиком ошибок — он создаётся в вашем браузере.

Макросы создаются целиком в вашем браузере. Имена листов, диапазоны, пути и текст, которые вы вводите, остаются на вашем устройстве и никогда не отправляются в ArrayKit.

Создаёт и поддерживает Udit Agarwal

Открыть генератор формул Excel

Об инструменте Генератор макросов VBA

Большинство макросов Excel — вариации небольшого набора шаблонов: найти последнюю строку, пройти цикл, не пропуская строк, скопировать совпадения в другое место, сохранить файл. Генератор макросов VBA для Excel превращает эти шаблоны в формы. Выберите макрос в библиотеке с поиском, заполните имя листа, букву столбца, диапазон или папку — и код обновляется по мере ввода. Каждый макрос начинается с Option Explicit, объявляет свои переменные, считает строки как Long, находит последнюю строку через End(xlUp), избегает Select и Activate и заканчивается обработчиком ошибок, который всегда снова включает обновление экрана, события и вычисления. Макросы, которые удаляют, перезаписывают, записывают файлы или создают письма, получают метку риска и напоминание проверить на копии. Скопируйте код или скачайте файл .bas; ничего из введённого не загружается.

Возможности

  • Более 50 макросов в семи группах: циклы, очистка, разделение и объединение, файлы и почта, листы и оформление, события, диалоги
  • Настройки проверяются: имена листов, буквы столбцов, диапазоны, имена и числа проверяются до появления кода
  • Кавычки и переносы строк в вашем тексте экранируются, так что значение никогда не сломает созданный VBA
  • Option Explicit, объявленные переменные, счётчики строк типа Long и поиск последней строки через End(xlUp) в каждом макросе
  • Обработчик ошибок, который восстанавливает обновление экрана, события и вычисления, даже если что-то пошло не так
  • Метки риска и напоминания для макросов, которые удаляют данные, записывают файлы или создают письма
  • Выбор имени процедуры, включение и отключение комментариев, работа с этой книгой или с активной
  • Копирование кода или скачивание файла .bas с пошаговой инструкцией по вставке и сохранению как .xlsm

Как использовать Генератор макросов VBA

  1. Найдите или просмотрите библиотеку и выберите макрос, подходящий вашей задаче
  2. Заполните настройки — имя листа, букву столбца, диапазон, папку или текст — и исправьте всё отмеченное
  3. Скопируйте код или скачайте файл .bas
  4. В Excel нажмите Alt+F11, выберите «Вставка» > «Модуль», вставьте код, нажмите F5, затем сохраните файл как .xlsm

Пример

Ввод

Macro:            Delete blank rows
Sheet:            Orders
Blank means:      every cell in the row is empty
First row to check: 2

Результат

Public Sub DeleteBlankRows()
    ...
    Set ws = ThisWorkbook.Worksheets("Orders")
    lastRow = ws.UsedRange.Row + ws.UsedRange.Rows.Count - 1
    For r = lastRow To 2 Step -1
        If Application.WorksheetFunction.CountA(ws.Rows(r)) = 0 Then
            ws.Rows(r).Delete
            removed = removed + 1
        End If
    Next r

Цикл идёт снизу вверх, поэтому удаление строки никогда не заставит пропустить следующую.

Частые ошибки и устранение неполадок

  • После вставки кода появляется «Compile error: Variable not defined» или «Ambiguous name detected». — Вставьте весь созданный блок в пустой модуль. Если вы объединяете несколько макросов в одном модуле, небольшие вспомогательные функции повторяются — оставьте по одной копии каждой.
  • Макрос ничего не делает, или Excel сообщает, что макросы отключены. — Сохраните файл как книгу Excel с поддержкой макросов (.xlsm), затем включите макросы через «Файл» > «Параметры» > «Центр управления безопасностью». Включайте их только в файлах, которым доверяете.
  • Ошибка времени выполнения 9: Subscript out of range. — Имени листа из настроек нет в книге, с которой работает макрос. Проверьте написание и то, работать ли с этой книгой или с активной.
  • Макрос, который удалил или перезаписал данные, нельзя отменить. — Изменения через VBA обходят Ctrl+Z. Макросы, которые удаляют, перезаписывают или записывают файлы, всегда сначала запускайте на копии книги.

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

Как генератор макросов VBA для Excel решает, какой код создавать?
Каждый макрос в библиотеке — это проверенный шаблон с типизированными настройками. Ваши значения проверяются, а затем подставляются в код в нужное место, с кавычками там, где нужно, поэтому на выходе обычный VBA, который можно читать, править и использовать повторно — никаких догадок.
Почему каждый созданный макрос содержит обработчик ошибок?
Макросы, отключающие обновление экрана или события, оставляют Excel в запутанном состоянии, если остановятся на полпути. Обработчик возвращает эти настройки при любом исходе, а затем показывает номер и описание ошибки вместо внезапного сбоя.
Используют ли созданные макросы Select или Activate?
Нет. Они работают напрямую с объектами листа и диапазона, что быстрее и не зависит от того, что выделено в данный момент. Закрепление областей — единственная задача, которую Excel привязывает к окну, поэтому этот макрос прокручивает вид через Application.Goto, а не выделяет ячейку.
Можно ли использовать эти макросы на Mac или в Excel для веб?
Большинство работают в настольном Excel под Windows, а многие и на Mac, но VBA не запускается в Excel для веб. Макросу для почты Outlook нужен Outlook для Windows, а пути к файлам на Mac используют прямые, а не обратные косые черты.
Чем файл .bas отличается от вставки кода?
Файл .bas — это модуль, который импортируется через «Файл» > «Импорт файла» в редакторе VBA; вставка делает то же вручную. Вставка надёжнее, если в вашем тексте есть буквы с диакритикой или символы, потому что файл .bas читается в старой кодировке ANSI.
Отправляются ли куда-либо имена моих листов и пути к файлам при использовании генератора макросов?
Нет. Настройки и код остаются в вашем браузере. Ничего не загружается, а генератор лишь создаёт текст, который вы вставляете в Excel.

Связанные инструменты

  • Генератор формул Excel — Выберите задачу — условные суммы, поиск, даты, текст или ранжирование — и получите готовую формулу Excel или Таблиц.
  • Объяснение формул Excel — Вставьте формулу Excel или Google Таблиц и получите пошаговый разбор каждой функции и аргумента простым языком.
  • Очистка данных Excel — Уберите пробелы, пустые строки и дубликаты, выровняйте регистр, даты и числа и сохраните в .xlsx или CSV.
  • CSV в Excel — Превратите CSV или TSV в оформленную книгу .xlsx: разделители, заголовки, типы столбцов и несколько листов.
  • Конвертер Excel to CSV — Экспортирует лист .xlsx или .xls в чистый файл CSV
  • Генератор формул ВПР — Пошагово составьте формулу ВПР с IFERROR, точным или приблизительным поиском, XLOOKUP и INDEX MATCH и живой проверкой.
  • ИНДЕКС ПОИСКПОЗ — Формулы INDEX MATCH для поиска влево, двустороннего поиска и нескольких условий с живой проверкой и готовым результатом.

Другие инструменты: Excel и таблицы

  • CSV в Excel — Превратите CSV или TSV в оформленную книгу .xlsx: разделители, заголовки, типы столбцов и несколько листов.
  • JSON в Excel — Конвертируйте массивы и вложенные объекты JSON в книгу Excel с развёрнутыми столбцами и листом на массив.
  • Очистка данных Excel — Уберите пробелы, пустые строки и дубликаты, выровняйте регистр, даты и числа и сохраните в .xlsx или CSV.
  • Генератор формул ВПР — Пошагово составьте формулу ВПР с IFERROR, точным или приблизительным поиском, XLOOKUP и INDEX MATCH и живой проверкой.
  • ИНДЕКС ПОИСКПОЗ — Формулы INDEX MATCH для поиска влево, двустороннего поиска и нескольких условий с живой проверкой и готовым результатом.
  • Объяснение формул Excel — Вставьте формулу Excel или Google Таблиц и получите пошаговый разбор каждой функции и аргумента простым языком.
  • Генератор формул Excel — Выберите задачу — условные суммы, поиск, даты, текст или ранжирование — и получите готовую формулу Excel или Таблиц.
  • Переводчик функций Excel — Переводите формулы Excel между английским, немецким, французским, испанским, русским и другими языками, с разделителями.

Все инструменты: Excel и таблицы (9) · Все инструменты