KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

Как запустить макрос одновременно в нескольких книгах?

АвторСяоянДата изменения

Работа с несколькими файлами Рабочая книга Excel часто требует повторения одной и той же операции или задачи автоматизации во многих файлах. Открытие каждой книги по отдельности для запуска макроса не только занимает много времени, но и повышает риск ошибок, особенно при обработке больших партий файлов. Автоматизация этого процесса необходима для повышения продуктивности и точности.

С помощью VBA (Visual Basic for Applications) вы можете оптимизировать рабочий процесс, автоматически запуская макрос для каждой книги в указанной папке — это экономит время и гарантирует единообразие результатов. В этом руководстве подробно описано, как настроить и применить решение на основе VBA, чтобы выполнять нужный макрос сразу для нескольких файлов без ручного открытия каждого из них.

Типичные сценарии, в которых этот подход оказывается полезным:

  • Применение форматирования или расчётов к коллекции ежемесячных отчётов
  • Стандартизация шагов очистки данных для набора экспортированных файлов
  • Пакетное обновление шаблонов или добавление структур в устаревшие файлы
Этот метод пакетной обработки идеально подходит для пользователей, регулярно выполняющих повторяющиеся задачи в Excel — будь то в бизнесе, образовании или научных исследованиях.

Запуск одного и того же макроса в нескольких книгах с помощью кода VBA

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

Перед началом:

  • Все целевые книги закрыты — скрипт откроет и обработает их по мере необходимости.
  • Макрос, который вы хотите запустить, не должен требовать взаимодействия с пользователем — например, вывода сообщений или запросов ввода, — поскольку пакетная обработка будет прервана диалоговыми окнами.
  • Вы сохранили свою работу, поскольку пакетную обработку макросов нельзя легко отменить, и при некорректном кодировании она может перезаписать данные.

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

1. Удерживая клавиши «ALT + F11», откройте окно Microsoft Visual Basic for Applications.

2. В открывшемся редакторе VBA выберите «Вставка» > «Модуль», чтобы создать новый модуль, и вставьте предоставленный макрос в пустое окно модуля.

Код VBA: одновременный запуск одного и того же макроса в нескольких книгах:

Sub LoopThroughFiles()
    Dim xFd As FileDialog
    Dim xFdItem As Variant
    Dim xFileName As String
    Set xFd = Application.FileDialog(msoFileDialogFolderPicker)
    If xFd.Show = -1 Then
        xFdItem = xFd.SelectedItems(1) & Application.PathSeparator
        xFileName = Dir(xFdItem & "*.xls*")
        Do While xFileName <> ""
            With Workbooks.Open(xFdItem & xFileName)
                'your code here
            End With
            xFileName = Dir
        Loop
    End If
End Sub

Важные замечания и советы:

  • В приведённом выше коде найдите строку With Workbooks.Open(xFdItem & xFileName). Скопируйте и вставьте нужный вам код макроса (без строк)Sub и End Sub) между этой строкой и строкой End With. Так операция будет выполнена в каждой открываемой книге.
  • Внимательно проверьте логику макроса и используемые пути, чтобы гарантировать корректную пакетную обработку. Если макрос вносит изменения в данные, рекомендуется сначала протестировать его на небольшом наборе файлов.

См. снимок экрана с указанием места, куда следует вставить код вашего макроса:

Снимок экрана с кодом VBA для выполнения макроса в нескольких книгах Excel

3. Нажмите клавишу «F5» в редакторе VBA, чтобы запустить скрипт — появится диалоговое окно для выбора папки.

4. В окне «Обзор» выберите папку, содержащую все книги для обработки. Скрипт последовательно пройдёт по каждому файлу Excel в указанной папке и выполнит ваш макрос.

Снимок экрана диалогового окна выбора папки для выполнения макроса в нескольких книгах

5. Нажмите «ОК», чтобы запустить пакетную обработку. Добавленный вами фрагмент макроса выполнится во всех целевых книгах из выбранной папки. Обработка крупных партий может занять больше времени — всё зависит от сложности макроса и количества файлов.

  • Безопасность макросов: Если появится запрос, разрешите макросы или запускайте файл из доверенного расположения.
  • Целевые файлы. Тип файла: Шаблон *.xls* включает файлы с расширениями .xlsx, .xlsm и .xlsb. При необходимости скорректируйте шаблон.
  • Полное указание объектов внутри блока With:Используйте начальные точки (например,).Worksheets("Sheet1")), чтобы действия применялись к открываемой книге.

Лучшие инструменты повышения продуктивности в Office

🤖KUTOOLS AI Помощник: Преобразуйте Анализ данных с помощью:Интеллектуального выполнения   |  Генерации кода|  Создания пользовательские формулы  |  Анализа данных и построения диаграмм|  Вызова Расширенные функции
Популярные функции:Поиск, выделение или Отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячеек без потери данных   |  Округление без использования формул
Супер ПОИСК:VLookup по нескольким критериям  |  VLookup по нескольким значениям  |   VLookup по нескольким листам   |   Распознавание нечетких соответствий
Расширенный раскрывающийся список:Быстрое создание выпадающего списка   |  Зависимый выпадающий список   |  Выпадающий список с множественным выбором
Управление столбцами:Добавление заданного количества столбцов|Перемещение столбцов|Переключение видимости скрытых столбцов|Сравнение диапазонов и столбцов
Избранные функции:Сетка фокусировки   |  Просмотр дизайна   |Улучшенная строка формулы   | Управление рабочими книгами и листами   |  Библиотека ресурсов(автотекст)|  Выбор даты   |  Объединить листы  |  Шифрование/Расшифровать ячейки   | Отправка писем по списку   |  Супер фильтр   |   Специальный фильтр(Фильтр ячеек с жирным шрифтом/курсив/зачёркивание…) …
Лучшие наборы инструментов 15:12 Текстовыеинструменты(Добавить текст,Удалить определенные символы, …)|   50+Типыдиаграмм(Диаграмма Ганта, …)|   40+ Практические формулы(Рассчитать возраст на основе даты рождения, …)|   19 Инструментывставки(Вставить QR-код,Вставка изображения по пути, …)|   12 Инструментыпреобразования(Преобразовать в слова,Конвертация валют, …)|   7 Объединить и разделитьИнструменты(Расширенное объединение строк,Разделить ячейки, …)|… и многое другое
Используйте Kutools на предпочитаемом языке — поддержка английского, испанского, немецкого, французского, китайского и ещё 40+ языков!

Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…


Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу

  • Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
  • Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!

Все надстройки Kutools — один установщик

Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.

ExcelWordOutlookTabsPowerPoint
  • Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
  • Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
  • Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
  • 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
  • Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек