Создать папки из списка Excel

Обновлено: 15.05.2024

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

В этой статье мы научим вас создавать папки и подпапки из списка в Excel. Мы сделаем это, используя макросы Excel, чтобы просто нажать кнопку и сделать то, что мы хотим. Кроме того, мы объясним все рекомендации, которые вы должны учитывать, чтобы иметь возможность запускать макрос без каких-либо сообщений об ошибках.

  • Использование параметров на вкладке "Разработчик"
  • Создание макроса folderCreate()
  • Соображения относительно макроса
  • Создание папок из списка в Excel

Использование параметров на вкладке "Разработчик"

Чтобы легко создать макрос, нам нужна вкладка "Разработчик" на панели инструментов. Если она у вас не отображается, вам просто нужно щелкнуть правой кнопкой мыши в любом месте на панели задач и выбрать «Настроить ленту».

Появится всплывающее окно, и в поле справа мы включим параметр «Разработчик» или «Разработчик», а затем нажмем «ОК». С этого момента мы должны проверить, добавлена ​​ли нужная нам вкладка.

Создание макроса folderCreate()

Теперь, чтобы создать макрос, который нам понадобится для создания папок из списка, нам нужно всего лишь выполнить следующие шаги:

  • На вкладке «Программист» мы нажмем «Visual Basic».
  • Сразу появится всплывающее окно, в котором нам нужно будет перейти в верхнее меню и щелкнуть вкладку «Вставка».
  • Затем в раскрывающемся меню мы выберем «Модуль», а затем вставим следующий код:

path = InputBox («Введите путь, по которому вы хотите создать папки»)

cell = InputBox ("Первая ячейка")

Диапазон (ячейка). Выберите

Выполнить, пока ActiveCell.Value <> ""

MkDir (путь и «/» и ActiveCell.Value)

ActiveCell.Offset (1, 0). Выберите

  • Следующим шагом будет закрытие окна «Visual Basic», чтобы завершить макрос. И готово! Макрос будет доступен для создания папок на листе Excel.

Как видите, создание макросов — это простой процесс, если вы используете правильную логику при его программировании. Однако, не разработав код должным образом, мы должны знать, как он работает.

Соображения относительно макроса

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

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

Создание папок из списка в Excel

После создания макроса и понимания его работы мы можем приступить к его использованию. Для этого вам просто нужно выполнить следующие шаги:

  • Мы перейдем на вкладку «Разработчик» и выберем «Макросы».
  • Появится всплывающее окно, где должен появиться макрос «FoldersCrear», мы выберем его и нажмем «Выполнить».
  • Далее появится окно, в котором нам нужно будет ввести путь, по которому мы хотим создать папки. Введем путь, например, «C:\Users\Desktop\», чтобы создать их на рабочем столе. Мы нажмем «Принять».
  • После этого у нас появится другое окно, которое спросит нас, в какой ячейке начинается список или какая ячейка является первой. Мы напишем, например, A5, потому что это ячейка, с которой начинается список. Мы нажмем «Принять».
  • И готово! Если вы нажали «ОК» и сообщение об ошибке не появилось, все, что вам нужно сделать, это проверить путь, чтобы увидеть созданные папки.

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

Я надеюсь, что этот макрос вам очень поможет, не забудьте поделиться им и увидимся в следующий раз.

В наших предыдущих руководствах мы научились создавать несколько листов в Excel. И в сегодняшнем уроке мы научимся создавать несколько папок одновременно.

В качестве примера возьмем также месяцы.Если нам нужно создать папки и назвать их по месяцам, с января по декабрь.

Сначала мы вводим месяцы на листе Excel, а затем вводим [= «MD» &A1] в ячейку A1. И используйте дескриптор заполнения, чтобы заполнить их. Не забудьте один раз нажать пробел после MD.

Как создать сразу несколько папок --- Простой и эффективный способ

Скопируйте и вставьте часть MD в новый текстовый документ, как показано ниже.

Как создать сразу несколько папок --- Простой и эффективный способ

Затем нам нужно изменить суффикс текстового документа «txt» на «bat».

Как создать сразу несколько папок --- Простой и эффективный способ

Как создать сразу несколько папок --- Простой и эффективный способ

Теперь последний, но самый важный шаг. Дважды щелкните новый текстовый файл document.bat.

Вы быстро получите все папки, названные по месяцам.

Как создать сразу несколько папок --- Простой и эффективный способ

Подходящее чтение

Вам также может понравиться

Заявление об авторских правах. Любое копирование или использование любых публикаций на этом веб-сайте должно осуществляться с письменного разрешения или авторизации Myofficetricks.

Я начал снимать видеоролики в дополнение к своему сообщению о сводных таблицах под названием "101 продвинутый совет и хитрость по сводным таблицам, которые вам нужно знать". Я хотел быть немного организованным и иметь все связанные файлы для каждого видеоподсказки в отдельной папке. Это означало создание 101 новой папки и присвоение им имен на основе каждого совета в моем посте.

Выполнение этого вручную было бы очень утомительной задачей.

  1. Скопируйте название подсказки в буфер обмена.
  2. Откройте проводник и щелкните правой кнопкой мыши, чтобы создать новую папку.
  3. Вставьте название заголовка подсказки в имя папки.
  4. Добавьте к имени папки префикс «001 —», потому что я хотел, чтобы они были перечислены в проводнике в том же порядке, что и сообщение.
  5. Повторите шаги с 1 по 4 еще сто раз 🙁

Это не совсем та задача, которую я нахожу веселой, и обычно она заставляет меня задуматься: «Как мне избежать этого?».

Поскольку заголовки моих советов уже были перечислены в листе Excel, это была идеальная задача для небольшого изучения VBA.

Создание папок из списка

Я установил именованный диапазон на своем листе под названием MakeFolderPath в качестве входных данных для пути к папке. Здесь вы можете указать расположение, в котором хотите создать все свои папки.

Я также создал таблицу из 1 столбца и назвал ее MakeFolderNames. Эта таблица будет содержать имена всех папок, которые я хочу создать.

Создание именованных диапазонов и таблиц для наших входных данных просто позволит нам перемещать их на листе без необходимости обновлять ссылку в VBA.

Это простая часть VBA. Он перебирает каждый элемент в нашем списке имен папок и создает папку с этим именем с помощью команды MkDir. Он также пропускает любые ошибки, которые могут возникнуть из-за пустых ячеек в нашем списке, уже существующей папки или специальных символов, которые не разрешены в имени папки.

Удаление папки из списка

Удалить все папки в каталоге несложно. Просто выделите их все и нажмите Удалить. Но если у вас большое количество папок и вы хотите удалить только часть из них, их удаление может занять много времени. В этом случае вам нужно будет отдельно выбирать и удалять папки.

Если у вас есть список подмножества папок, мы можем использовать VBA для их удаления аналогично тому, как мы создавали папки из списка.

Именованный диапазон для чтения пути называется DeleteFolderPath, а таблица, содержащая мой список имен папок для удаления, называется DeleteFolderNames.

Это приведет к циклическому просмотру и удалению всех папок в моем списке с помощью команды RmDir. Он пропустит любые ошибки из несуществующих папок или пустых ячеек в списке.

Однако будьте осторожны, вы не сможете отменить это действие. Как только оно исчезло, оно исчезло!

Переименование папок из списка

Возможно, папки уже настроены, но вам нужно переименовать их в соответствии с новым соглашением об именах.Когда я настраивал свои папки, я предусмотрительно добавил к ним число, включающее начальные нули, чтобы сортировать их по алфавиту в том порядке, в котором я хотел, чтобы они отображались.

Именованный диапазон для чтения пути называется RenameFolderPath, а таблица, содержащая мой список имен папок и соответствующие им новые имена, называется RenameFolderNames.

Мы используем аналогичную структуру VBA с командой Name As для переименования наших папок. Нам просто нужно сослаться на наше новое имя, и мы можем сделать это, используя смещение от исходного имени, поскольку оно находится на один столбец справа от исходного имени.

Может ли кто-нибудь помочь мне понять основы создания папок из списка с помощью макросов Excel? У меня очень мало знаний о макросах, поэтому мне нужно начать с основ.

Факты об Excel

Добавьте значок автофильтра на панель быстрого доступа. Выберите ячейку, содержащую Apple, нажмите Автофильтр, и вы получите все строки с Apple

mbt2103

Новый участник

Что вы подразумеваете под "папками". Как в проводнике Windows?

Большую часть того, что я знаю о макросах, я узнал, запустив функцию "запись макроса", сделав то, что хотел, а затем просмотрев то, что получилось в Visual Basic.

MrExcel MVP, младший администратор

Добро пожаловать в Совет!

Посмотрите здесь, на код VBA в первой части: Как быстро создавать папки на основе значений ячеек в Excel?

zt40391

Новый участник

Если у меня есть список имен, и я хочу создать папку для каждого имени на рабочем столе или даже на диске C: без необходимости вручную создавать каждую папку для каждого имени. Я знаю, что вы могли бы сделать это с помощью макросов, поэтому я хочу узнать, как это сделать.

MrExcel MVP, младший администратор

Если у меня есть список имен, и я хочу создать папку для каждого имени на рабочем столе или даже на диске C: без необходимости вручную создавать каждую папку для каждого имени. Я знаю, что вы могли бы сделать это с помощью макросов, поэтому я хочу узнать, как это сделать.

Вы смотрели ссылку, которую я дал? В нем есть именно то, что вы просите.
См. раздел Код VBA: создание папок на основе значений ячеек.

zt40391

Новый участник

Да, сработало, большое спасибо. Предположим, я хочу использовать командную кнопку, которую люди нажимают, чтобы сделать папки прямо на листе Excel, вместо того, чтобы выделять ячейки и ALT + F8, который вызывает макросы, а затем мне нужно дважды щелкнуть «MakeFolders», чтобы для создания папок, что, если я просто хочу использовать командную кнопку прямо на листе Excel, как мне это сделать?

MrExcel MVP, младший администратор

Ознакомьтесь с этой темой, чтобы узнать, как назначить макрос командной кнопке: Excel — запуск макроса Excel с помощью командной кнопки в электронной таблице

zt40391

Новый участник

Я новичок в этом, поэтому приношу извинения за несколько вопросов, но следующий код работает, но мне пришлось бы вручную выбирать фактические ячейки со значениями для создания папок, но если я хочу, чтобы макросы сделали выбор для меня, который часть я бы изменить? Это Set Rng = Selection, который мне придется изменить? Предположим, что данные начинаются в B3, и я хочу, чтобы они начинались в B3 и заканчивались там, где есть последнее значение, как мне это закодировать?

zt40391

Новый участник

это код, который я использую, и он работает, за исключением того, что я хочу, чтобы макросы делали выбор за меня.

Sub MakeFolders()
Затемнить Rng как диапазон
Затемнить maxRows, maxCols, r, c как целое число
Set Rng = Selection
maxRows = Rng.Rows.Count
/>maxCols = Rng.Columns.Count
Для c = 1 To maxCols
r = 1
Выполнить, пока r

MrExcel MVP, младший администратор

Исходя из вашего предыдущего сообщения, если вы хотите начать с B3 и перейти к последней строке столбца B, ваш код может выглядеть так:

Читайте также: