01 Что делает макрос
Представьте, вы написали классный макрос, который автоматизирует работу одного Excel-файла. Теперь проблема заключается в том, что вам нужно перейти в папку, открыть каждую книгу, запустить макрос, сохранить изменения, закрыть книгу, а затем открыть следующую. Открытие каждой рабочей книги в папке, как правило, ручной процесс, который отнимает много времени. Этот макрос решает проблему, как открыть все рабочие книги папки.
В этом макросе, мы используем функцию Dir. Функция Dir возвращает строку, которая представляет собой имя файла. С её помощью в указанной папке мы возьмём имя каждого файла (с расширением “.xlsx”), затем будем открывать каждый файл, запускать макрос и, наконец, закрывать файл после сохранения.
02 Код макроса
Sub
OtkritVseKnigi()
'Шаг 1:Объявляем переменные
Dim
MyFiles
As
String
'Шаг 2: Укажите нужную папку
MyFiles = Dir(
"C:\Имя_папки*.xlsx"
)
Do
While
MyFiles <> “”
'Шаг 3: Открываем файлы один за другим
Workbooks.Open "C:\Имя_папки\" & MyFiles
'Код макроса с действиями
MsgBox ActiveWorkbook.Name
ActiveWorkbook.Close SaveChanges:=
True
'Шаг 4: Следующий файл в папке
MyFiles = Dir
Loop
End
Sub
03 Как работает макрос
1. Объявляем переменную MyFiles (тип строчный), которая будет фиксировать имя каждого файла.
2. В шаге 2, макрос использует функцию DIR, чтобы указать Тип файла и адрес папки. Обратите внимание, что код ищет файлы в формате xlsx. Если вы ищете .xls файлы, вам необходимо изменить расширение.
3. Открываем файл, совершаем нужные действия (вы должны поместить в код макроса требуемые действия – они зависят от ваших задач), а затем сохраняем и закрываем файл. В этом простом примере, мы вызываем окно с сообщением, чтобы показать имя каждого файла.
4. Снова ищем файлы. Если нет файлов, переменная MyFiles пустая. Если это так, то цикл и макрос завершается.
04 Как использовать
Для реализации этого макроса, вы можете скопировать и вставить его в стандартный модуль:
1. Активируйте редактор Visual Basic, нажав ALT + F11.
2. Щелкните правой кнопкой мыши имя проекта / рабочей книги в окне проекта.
3. Выберите Insert➜Module.
4. Введите или вставьте код во вновь созданном модуле.
05 Скачать файл
Автор проекта
Дмитрий Якушев
Привет! Меня зовут Дмитрий. С 2014 года Microsoft Cretified Trainer. Вместе с командой управляем этим сайтом. Наша цель - помочь вам эффективнее работать в Excel.
Изучайте наши статьи с примерами формул, сводных таблиц, условного форматирования, диаграмм и макросов. Записывайтесь на наши курсы или заказывайте обучение в корпоративном формате.
Сайт https://akademia-excel.ru/
ИП Якушев Дмитрий Александрович
ОГРНИП: 314501721200022
ИНН: 501706813807
Образовательная лицензия № Л035-01255-50/01194039
Почта: info@akademia-excel.ru
Телефон для связи: + 7 (958) 697-73-88, + 7 (495) 145-23-86
Регистрация на сайте означает согласие с пользовательским соглашением и на получение рассылки и рекламных материалов.
Политика в отношении обработки и защиты персональных данных.
Банковские реквизиты:
Расчетный счет 40802810500000003597
Банк АО «Тинькофф Банк»
Юридический адрес Банка Москва, 123060,1-й Волоколамский проезд, д. 10, стр. 1
Корр. счет Банка 30101810145250000974
ИНН Банка 7710140679
БИК Банка 044525974
Подписывайтесь на нас в соц.сетях:
Сайт https://akademia-excel.ru/
ИП Якушев Дмитрий Александрович
ОГРНИП: 314501721200022
ИНН: 501706813807
Образовательная лицензия № Л035-01255-50/01194039
Банковские реквизиты:
Расчетный счет 40802810500000003597
Банк АО «Тинькофф Банк»
Юридический адрес Банка Москва, 123060,1-й Волоколамский проезд, д. 10, стр. 1
Корр. счет Банка 30101810145250000974
ИНН Банка 7710140679
БИК Банка 044525974
Регистрация на сайте означает согласие с пользовательским соглашением и на получение рассылки и рекламных материалов.
Политика в отношении обработки и защиты персональных данных.
Почта: info@akademia-excel.ru
Телефон для связи: + 7 (958) 697-73-88, + 7 (495) 145-23-86
Написать в тех.поддержку
Подписывайтесь:
авторизуйтесь