Создать папки с названиями по списку excel

Предположим, у вас есть список имен сотрудников в диапазоне рабочего листа, и теперь вы хотите создать несколько папок для каждого из них в ячейках для записи их информации. Если вы будете создавать папки одну за другой, это займет много времени. Но как быстро создать эти папки? Сегодня я расскажу вам несколько простых приемов:

Создавать папки на основе значений ячеек с кодом VBA

Быстро создавайте папки на основе значений ячеек с Kutools for Excelхорошая идея3


Создавать папки на основе значений ячеек с кодом VBA

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

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

doc-create-папки1

2. Нажмите Застройщик > Визуальный Бейсик, Новый Microsoft Visual Basic для приложений появится окно, щелкните Вставить > Модули, и введите в модуль следующий код:

Код VBA: создание папок на основе значений ячеек

Sub MakeFolders()
Dim Rng As Range
Dim maxRows, maxCols, r, c As Integer
Set Rng = Selection
maxRows = Rng.Rows.Count
maxCols = Rng.Columns.Count
For c = 1 To maxCols
r = 1
Do While r <= maxRows
If Len(Dir(ActiveWorkbook.Path & "" & Rng(r, c), vbDirectory)) = 0 Then
MkDir (ActiveWorkbook.Path & "" & Rng(r, c))
On Error Resume Next
End If
r = r + 1
Loop
Next c
End Sub

3. Нажмите док-умножить-расчет-3 кнопку для выполнения кода. Все выбранные ячейки были созданы в папки со своими значениями. И папки помещаются в путь так же, как активная книга. Смотрите скриншот:

doc-create-папки2


Быстро создавайте папки на основе значений ячеек с Kutools for Excel

Вам легко и удобно создавать папки на основе значений ячеек, если вы используете инструмент- Kutools for Excel.

После установки Kutools for Excel, пожалуйста, сделайте следующее:(Бесплатная загрузка Kutools for Excel Сейчас!)

1. Выберите диапазон, в котором вы хотите создать папки.

2. Нажмите Кутулс Плюс > Импорт / Экспорт > Создание папок из содержимого ячеек…, См. Снимок экрана:

doc создать папку 1

3. В Создание папок из содержимого ячеек диалоговое окно, нажмите doc-create-папки3кнопку, чтобы указать путь, по которому вы хотите сохранить папки. Видно скриншот:

doc создать папку 2

4. Нажмите OK. И окно подсказки напомнит вам, сколько папок было создано. Смотрите скриншот:

doc создать папку 3

5. Нажмите OK. И все значения в выбранном диапазоне были созданы папками в указанной папке.
doc создать папку 4


Перечислить все имена файлов из папки в лист

чтобы узнать больше об этой функции.

Вот утилита в Kutools for Excel – Список имен файлов может перечислить все имена файлов папки на листе, если он вам интересен, продолжайте читать.

После установки Kutools for Excel, пожалуйста, сделайте следующее:(Бесплатная загрузка Kutools for Excel Сейчас!)

1. Нажмите Кутулс Плюс > Импорт/Экспорт > Список имен файлов.
doc создать папку 5

2. в Список имен файлов диалоговом окне выберите папку, в которой вы хотите отобразить ее файлы, установите флажок Все файлы or Указывать вариант, как вам нужно в Тип файлов sдействие.
img src=»//cdn.extendoffice.com / images / stories / doc-excel / create-folder / doc-create-folder-6.png «alt =» doc create folder 6 «/>

3. Нажмите Okсоздается новый лист со всеми именами файлов и некоторой относительной информацией.
doc создать папку 7


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

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

офисный дно

Информация о материале
Категория: Надстройки Excel

Опубликовано: 24 августа 2018

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

Пакетное создание папок при помощи сторонних программ

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

Быстро создавать любое количество папок можно без использования сторонних программ при помощи Excel. Поскольку стандартный Excel создавать папки не умеет, необходимо установить надстройку (не путать с настройкой), которая расширит его возможности. После установки надстройки (это такая программа, написанная на встроенном в приложения Office языке программирования VBA) на ленте Excel появляется новая кнопка на вкладке «Надстройки» (если такой вкладки на ленте нет, то и сама вкладка также появляется после установки надстройки). Нажатие этой кнопки вызывает диалоговое окно (пользовательскую форму), в котором можно задать некоторые параметры создания новых папок.

Массовое создание папок из списка excel

CompleteSolutionнадстройка для быстрого создания папок с именами из ячеек диапазона Excel

В диалоговом окне необходимо указать путь к папке, в которой будут генерироваться новые папки. Имена папкам задаются на основе значений ячеек, поэтому необходимо указать диапазон ячеек, либо несколько диапазонов (удерживая клавишу Ctrl нажатой), либо несколько отдельных ячеек. При этом для имен папок в Windows существуют ограничения. В именах папок не должно быть запрещенных символов, таких как: /:*?»<>|. Если в значениях ячеек такие символы все же есть, то программа их отследит и исключит из имен папок, оставив значения в самих ячейках без изменений. Предусмотрена возможность замены запрещенных символов на какой-либо другой символ, заданный пользователем. Для быстрого открытия созданных папок в надстройке предусмотрена возможность создания гиперссылок.

Другие материалы по теме:

Доброго времени суток, Уважаемые!
Столкнулся с задачей похожей на вышеизложенную, но с маленьким нюансом.
Суть такова:
Необходимо создать некое подобие базы данных. В идеале должно выглядеть как папка с названием, предположим «Объект», в котором будет Excelевский файл и папка «Фотографии».
В Excelевском файле будет некая информация и два столбца с данными (столбцы будут содержать данные типа 1,2,3..n и 1-2,2-3,3-4…m). А в папке «Фотографии» будут соответственно папки с названиями «1»,»2″,»3″…»n», «1-2″,»2-3″…»m». (как сделать такую вещь с помощью вышеизложенного варианта я понял) Идем дальше. Нужно сделать так, что бы при нажатии на ячейку с данными, например «1», открывалась папка «1»?
Вариант с гиперссылками пробовал. Вот в таком виде » =ГИПЕРССЫЛКА(«D:ОбъектФотографии»&A7&»») » в ячейке А7 стоит число 1. Потом протянув ячейку вниз получаем ссылки на А8,А9…и т.д. Способ хорош если эта база стационарна и находится в одном месте. При перемещении папки «Объект» в другую директорию, в первой ячейке где гиперссылка нужно вручную прописать новый путь, а потом протянуть по всему столбцу. Это очень неудобно, потому как планируется довольно частое копирование папки Объект другим пользователям. В каждом файле порядка 300 строк, а папок «Объект» будет в районе сотни…
И в итоге нужно что бы при перемещении папки «Объект» ссылки не сбивались и не нужно было вручную править пути.
Если у кого-то будут идеи и решения по этому поводу, буду премного благодарен!!!
Только если можно поподробнее…а то я в макросах…не очень…

Добавлено через 1 час 37 минут
Все-таки я допустил неточность…
Если сделать обычную гиперссылку на папку «1» из ячейки с данными 1, то при условии перемещения папки «Объект», содержащей Экселевский файл и папку «Фотографии», гиперссылки сохраняются. Проблема только в том, что бы автоматизировать присвоение гиперссылок ячейкам с другими данными (на подобии как » =ГИПЕРССЫЛКА(«D:ОбъектФотографии»&A7&»») » и протянуть вниз). Ибо при наличии порядка 300 ячеек с данными, присваивать каждой гиперссылку вручную… а папок «Объект» порядка сотни….

Добавлено через 22 минуты
И еще один вопрос, что нужно изменить в коде макроса по созданию папок, что бы, например папка Фотографии и вложенные в нее папки с именами из Экселевского файла, создавались при запуске макроса в той директории где в данный момент находится папка?

 

Дро

Пользователь

Сообщений: 14
Регистрация: 10.10.2016

#1

10.10.2016 17:51:13

Здравствуйте.
Есть макрос создающий папки из заполненных ячеек одного столбца:

Код
Sub MDir()
On Error Resume Next
For Each oCell In Range([A1], [A65536].End(xlUp))
    If Not IsEmpty(oCell) Then MkDir "C:" & oCell
Next
End Sub

Я добавляю к таблице новый список. Допустим первый столбец это страны (Россия, Казахстан). Второй города. И соответственно нужно создать на диске папку Россия, а в ней папки с названиями городов. И так для каждой страны. То есть одновременно сделать несколько папок стран и в каждой несколько папок городов.
 Можно ли это сделать усовершенствовав этот макрос или другим способом. В принципе не важно каким образом.

 

Sanja

Пользователь

Сообщений: 14838
Регистрация: 10.01.2013

#2

10.10.2016 18:08:46

Цитата
Дро написал:
первый столбец это страны (Россия, Казахстан). Второй города.

Покажите структуру этих столбцов

Согласие есть продукт при полном непротивлении сторон.

 

Дро

Пользователь

Сообщений: 14
Регистрация: 10.10.2016

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

Изменено: Дро11.10.2016 22:08:58

 

Юрий М

Модератор

Сообщений: 60588
Регистрация: 14.09.2012

Контакты см. в профиле

Дро, код следует оформлять соответствующим тегом. Видели, как это выглядит у других?
Ищите такую кнопку и исправьте своё сообщение.
Спасибо!

 

Дро

Пользователь

Сообщений: 14
Регистрация: 10.10.2016

#5

11.10.2016 18:00:51

1
2
3
4
5
6
Код
Sub MDir()
On Error Resume Next
For Each oCell In Range([A1], [A65536].End(xlUp))
    If Not IsEmpty(oCell) Then MkDir "C:" & oCell
Next
End Sub

Изменено: Дро11.10.2016 18:02:10

 

Дро

Пользователь

Сообщений: 14
Регистрация: 10.10.2016

#6

11.10.2016 18:05:06

у меня наверное не вышло с этими стрелками.

Ну я всё таки прошу помочь мне, а то у меня не выходит. Структура во вложении. Сначала идут папки b, в них c, в c находятся a.  
Нашёл ещё несколько кодов, но не получается в них разобраться.

Код
Declare Function SHCreateDirectoryEx Lib "shell32" Alias "SHCreateDirectoryExA" _
                                     (ByVal hwnd As Long, ByVal pszPath As String, _
                                      ByVal psa As Any) As Long
  
Sub CreateFolderWithSubfolders(ByVal ПутьСоздаваемойПапки$)
    ' функция получает в качестве параметра путь к папке
    ' если такой папки ещё нет - она создаётся
    ' может создаваться сразу несколько подпапок
    If Len(Dir(ПутьСоздаваемойПапки$, vbDirectory)) = 0 Then    ' если папка отсутствует
        SHCreateDirectoryEx Application.hwnd, ПутьСоздаваемойПапки$, ByVal 0&    ' создаём путь
    End If
Код
Sub mkdir2(Путь$)
Set FSO = CreateObject("Scripting.FileSystemObject")
 a = Split(Путь, "")
For i = 0 To UBound(a)
 If a(i) <> "" Then
 aa = aa & a(i) & ""
 If FSO.FolderExists(aa) = False Then MkDir aa
 End If
 Next
 End Sub

Прикрепленные файлы

  • Книга1.xlsx (8.79 КБ)

Изменено: Дро11.10.2016 22:08:31

 

Дро

Пользователь

Сообщений: 14
Регистрация: 10.10.2016

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

 

Дро

Пользователь

Сообщений: 14
Регистрация: 10.10.2016

Я могу первым макросом в одной папке создать много папок за раз. Но в каждой из этих папок должно быть ещё по одной-две папки с номером. А первым коду это нереально. Это вручную менять в нём адрес каждый раз очень долго будет. Может можно сделать какие то ссылки на ячейки.

Изменено: Дро12.10.2016 12:38:30

 

VSerg

Пользователь

Сообщений: 370
Регистрация: 01.01.1970

#9

11.10.2016 20:31:37

Попробуйте так, если я правильно понял задачу.

Код
Declare Function SHCreateDirectoryEx Lib "shell32" Alias "SHCreateDirectoryExA" _
                                     (ByVal hwnd As Long, ByVal pszPath As String, _
                                      ByVal psa As Any) As Long

Sub Macro1()
Dim iLastRow As Long
Dim Path As String

iLastRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To iLastRow
Path = "C:TEST111" & Cells(i, 1).Value & "" & Cells(i, 2).Value & "" & Cells(i, 3).Value & "" & Cells(i, 4).Value

    If Len(Dir(Path, vbDirectory)) = 0 Then
        SHCreateDirectoryEx Application.hwnd, Path, ByVal 0&
    End If

Next
End Sub
 

kuklp

Пользователь

Сообщений: 14868
Регистрация: 21.12.2012

E-mail и реквизиты в профиле.

#10

11.10.2016 21:08:56

Код
Private Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" (ByVal lpPath As String) As Long
Sub www3()
    Dim i&
    For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
        MakeSureDirectoryPathExists "C:TEST111" & Cells(i, 1).Value & "" & Cells(i, 2).Value & "" & Cells(i, 3).Value & "" & Cells(i, 4).Value
    Next
End Sub

Я сам — дурнее всякого примера! …

 

Дрозд

Пользователь

Сообщений: 3
Регистрация: 24.02.2016

Круто. Всё получилось. Спасибо! Код от

VSerg

использовал.

Изменено: Дрозд11.10.2016 22:14:05

 

Дро

Пользователь

Сообщений: 14
Регистрация: 10.10.2016

А можно исключить не только пустые ячейки, но и ячейки со значениями папки на которые создавать не надо? Папки из некоторых строчек создавать не надо.

 

Юрий М

Модератор

Сообщений: 60588
Регистрация: 14.09.2012

Контакты см. в профиле

Дро, Дрозд, снова Дро — с какой целью меняете?

 

JayBhagavan

Пользователь

Сообщений: 11833
Регистрация: 17.01.2014

ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64

Юрий М, это два разных пользователя (УИД разный), хотя физически м.б. один.

<#0>
Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori

 

Юрий М

Модератор

Сообщений: 60588
Регистрация: 14.09.2012

Контакты см. в профиле

Я вижу, но не исключено, что просто с разных машин. Подождём «ответчика» )

 

Дро

Пользователь

Сообщений: 14
Регистрация: 10.10.2016

Да это я с работы и из дома

 

Юрий М

Модератор

Сообщений: 60588
Регистрация: 14.09.2012

Контакты см. в профиле

Понятно. Две учётные записи?

 

Дро

Пользователь

Сообщений: 14
Регистрация: 10.10.2016

 

Юрий М

Модератор

Сообщений: 60588
Регистрация: 14.09.2012

Контакты см. в профиле

А теперь прочитайте Правила. Особое внимание на п. 3.3

 

Дро

Пользователь

Сообщений: 14
Регистрация: 10.10.2016

Мне надо было срочно на работе, а я не помнил пароль ни от сайта, ни от ящика через который зарегистрировался. Пришлось ещё раз зарегистрироваться.

 

Юрий М

Модератор

Сообщений: 60588
Регистрация: 14.09.2012

Контакты см. в профиле

#21

12.10.2016 12:39:45

Связывайтесь с администратором -владельцем сайта и объясняйте ситуацию.
Помощь Вам пока будет приостановлена.

If you have a spreadsheet and want to create multiple folders from the Excel spreadsheet’s values, you can follow this tutorial. Whether you use the Excel desktop app, Excel Online, or Google Sheets, you can use this tutorial to get the same results.

Let’s assume that you have a list of names alongside some other data in an Excel spreadsheet. Meanwhile, you want to make folders after each name mentioned in a column. Instead of creating them manually, which is very time-consuming, you can use a simple method to create multiple folders at once from Excel cell values. As you already have the Notepad app on your computer, you do not need anything else to get the job done.

Before getting started, you should know a few things that must be cleared. Let’s say you have a spreadsheet containing three columns and five rows. If you follow this method, you will end up creating five folders, and each folder will contain two sub-folders. It is possible to add or remove more sub-folders, but that requires manual work.

We have shown the steps in a demo spreadsheet. In other words, we have mentioned Column A, B, and so on to simplify the steps. However, you need to do the same in a specific column/row/cell according to your spreadsheet. As per this following guide, Column B will be the primary folder, and Column C, D, etc., will be sub-folders.

To create multiple folders at once from Excel, follow these steps-

  1. Open the Excel spreadsheet.
  2. Right-click on Column A and select the Insert option.
  3. Enter MD in all cells.
  4. Enter as a prefix in all cells except Column A and B.
  5. Select all cells and paste them into Notepad.
  6. Select space and combination visible before all the C, D, or rest of the columns.
  7. Go to Edit > Replace.
  8. Enter the copied content in the Find what box.
  9. Enter in the Replace with box.
  10. Click the Replace All button.
  11. Go to File > Save As.
  12. Select a path, enter a name with .bat extension, and click the Save button.
  13. Move the .bat file to a place where you want to create all folders.
  14. Double-click on it.

Let’s check out these steps in detail.

At first, open your Excel spreadsheet. However, it is recommended to make a copy of this sheet as you are going to make a few changes to the original spreadsheet.

After opening, you have to enter a new column in the beginning. For that, right-click on the existing Column A and select the Insert option.

How to create multiple folders at once from Excel

Now, enter MD in all the cells in Column A.

Next, you have to enter ‘ as the prefix in all cells of Column C, D, and all the other columns that you want to include. For that, you can follow this detailed guide to enter prefixes in all cells in Excel.

How to create multiple folders at once from Excel

Then, copy all the cells, open the Notepad app, and paste it there. You have to remove the space between Column B and C, and so forth. For that, copy the portion containing the space and  > go to Edit > Replace, and paste it in the Find what box.

Enter  in the Replace with box, and click the Replace All button.

How to create multiple folders at once from Excel

Now, you can find the entries like this-

How to create multiple folders at once from Excel

Click the File > Save As option, choose a path where you want to save the file, enter a name with .bat extension (for example, myfolders.bat), and click the Save button.

How to create multiple folders at once from Excel

Now, move the .bat file to a location where you want to create all the folders and double-click on it. Depending upon how many cells you selected, it might take 10-15 seconds to get the job done.

That’s all! Do let us know if you have any doubt in the comments.

Related: How to create multiple folders at once in Windows.

Понравилась статья? Поделить с друзьями:
  • Создать панель меню в excel
  • Создать ошибку в excel
  • Создать оформление страницы в word
  • Создать отчет в excel с функцией если
  • Создать основной документы word