Создание папки с ячейки 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% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

 

Коллеги, Добрый день! Помогите решить задачку. Из столбца G или H взять название строки, и создать папку с таким же именем например на рабочем столе . Папки  нужны для каждой строки.  

 

tolstak

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

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

#2

05.09.2017 12:53:34

tairov-vladimir,

посмотрите тут.

Upd. Простите, не внимательно прочитал пост, там немного другое :)
Вот код, создающий папки в директории где лежит файл:

Код
Sub createFolders()
    Dim fso As Object
    Set fso = CreateObject("Scripting.FilesystemObject")
    For Each el In Range([G2], [G1].Offset([A2].End(xlDown).Row - 1, 0))
        If Not fso.FolderExists(ThisWorkbook.Path & "" & el.Value) Then
            fso.CreateFolder (ThisWorkbook.Path & "" & el.Value)
        End If
    Next
End Sub

Модификация для создания папок на рабочем столе:

Код
Sub createFoldersonDesktop()
    Dim fso As Object
    Set fso = CreateObject("Scripting.FilesystemObject")
    For Each el In Range([G2], [G1].Offset([A2].End(xlDown).Row - 1, 0))
        If Not fso.FolderExists(Environ("USERPROFILE") & "Desktop" & el.Value) Then
            fso.CreateFolder (Environ("USERPROFILE") & "Desktop" & el.Value)
        End If
    Next
End Sub

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

  • Таблица учета v.2 (1).xlsm (41.34 КБ)

Изменено: tolstak05.09.2017 13:08:38

In GoTo we trust

 

Скажите а есть возможность создавать папки по указанному пути??

 

vikttur

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

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

#4

05.09.2017 13:39:35

Код
    sFldr = Path  ' путь к папке
    If Dir(sFldr, vbDirectory) = "" Then MkDir sFldr ' создаем, если нет
 

vikttur, то есть в коде от tolstak меняем первые две строки?

 

tolstak

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

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

#6

05.09.2017 13:49:56

Код
Sub createFolders()
    Dim fso As Object
    sFldr = "C:ВашаПапка"  ' путь к папке
    If Dir(sFldr, vbDirectory) = "" Then MkDir sFldr ' создаем, если нет
    Set fso = CreateObject("Scripting.FilesystemObject")
    For Each el In Range([G2], [G1].Offset([A2].End(xlDown).Row - 1, 0))
        If Not fso.FolderExists(sFldr  & el.Value) Then
            fso.CreateFolder (sFldr  & el.Value)
        End If
    Next
End Sub

Изменено: tolstak05.09.2017 13:50:04

In GoTo we trust

 

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

 

tolstak

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

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

#8

05.09.2017 14:43:13

tairov-vladimir,

Код
Sub createFolders()
    Dim fso As Object, el As Range
    ' Выбор ячейки с названием папки
    Set el = Application.InputBox( _
        Prompt:="Выберите строку с названием папки", _
        Title:="Строка с названием", _
        Default:=Intersect([G:G], Selection.EntireRow).Address, _
        Type:=8)
    
    ' Папка для создания по умолчанию
    sFldr = "C:UsersuserDesktopЕРЕМИАСНовая папка"
    ' Возмоожность изменить папку
    sFldr = InputBox( _
        Prompt:="Адрес сохранения", _
        Title:="Куда сохранять?", _
        Default:=sFldr)
    If Not el Is Nothing And sFldr <> "" And el.Value <> "" Then
        Set el = Intersect([G:G], el)
        If Dir(sFldr, vbDirectory) = "" Then MkDir sFldr ' создаем, если нет
        Set fso = CreateObject("Scripting.FilesystemObject")
        If Not fso.FolderExists(sFldr & el.Value) Then
            fso.CreateFolder (sFldr & el.Value)
        End If
    Else
        MsgBox "Папка или название файла не выбраны.", vbCritical
    End If
End Sub

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

  • Таблица учета v.2 (1) (1).xlsm (45.69 КБ)

In GoTo we trust

 

Здравствуйте.
При выполнении макроса из сообщения #8 возникает ошибка : Run-time error 76 Path not found
Debug показывает что ошибка в строке 19.
Подскажите, как исправить, пожалуйста.

 

Имеется в виду путь из строки 11?

 

vikttur

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

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

Path not found — нет такого пути.
Строка 19 — создаем папку, если по указанному пути нет папки с таким именем.
sFldr — недопустимый путь. Проверьте переменную.

 

tolstak

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

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

#12

04.10.2017 14:05:19

DmitriyBastr, вероятно, у Вас не создана корневая папка. В сообщении #8 папка по пути «C:UsersuserDesktopЕРЕМИАСНовая папкаЦ-108-30.08.3018-М-4» будет создана, если существует папка «C:UsersuserDesktopЕРЕМИАСНовая папка».

Цитата
Имеется в виду путь из строки 11?

Да, или путь, указанный в всплывающем диалоге «Куда сохранять»

Изменено: tolstak04.10.2017 14:12:52

In GoTo we trust

 

Прописал в коде свой путь «C:UsersuserDesktop2»
Теперь выдает ошибку в строке 21
Object variable or With block variable not set

 

tolstak

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

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

DmitriyBastr, пропишите с последним символом — слешем — «C:UsersuserDesktop2«, должно помочь.

 

«» есть, я его в сообщении просто не написал…

 

vikttur

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

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

#16

04.10.2017 14:43:07

Ну, диск С у Вас, надеюсь, есть? :)
Проверьте так:

Код
sFldr = "C:Новая папка"
 

Юрий М

Модератор

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

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

#17

04.10.2017 14:45:01

Цитата
DmitriyBastr написал:
«» есть, я его в сообщении просто не написал

Почему не писали? Чтобы проверить, заметят ли форумчане эту ошибку?

 

Всё… Разобрался… Заработало
Большое спасибо!!!

 

… Все-таки продолжу…
Код из сообщения #8 работает. Но он создает папку только с именем из 7-го столбца, а не из любой выбранной ячейки, как было написано в сообщении #7. Что с этим можно сделать?

 

tolstak

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

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

#20

04.10.2017 15:52:53

DmitriyBastr, уберите из кода эту строку:

Код
Set el = Intersect([G:G], el)

In GoTo we trust

 
 

argyman

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

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

#22

22.05.2019 11:43:28

tolstak, Добрый день! при запуске этого макроса, Excel зависает минут на 5, это нормально? Помогите пожалуйста

Код
Sub createFolders()
    Dim fso As Object
    sFldr = "C:ВашаПапка"  ' путь к папке
    If Dir(sFldr, vbDirectory) = "" Then MkDir sFldr ' создаем, если нет
    Set fso = CreateObject("Scripting.FilesystemObject")
    For Each el In Range([G2], [G1].Offset([A2].End(xlDown).Row - 1, 0))
        If Not fso.FolderExists(sFldr  & el.Value) Then
            fso.CreateFolder (sFldr  & el.Value)
        End If
    Next
End Sub

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

  • пример_сохр.xlsm (12.51 КБ)

 

Юрий М

Модератор

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

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

Для начала проверьте букву «С» в ячейке А1

 

argyman

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

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

Юрий М, спасибо исправил, но макрос все равно зависает на минут 5

 

Юрий М

Модератор

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

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

Так у Вас в примере цикл перебирает все ячейки столбца, а это 1 048 576 строк.

 

junato

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

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

Добрый день.

Кто может помочь на форуме нашел, что кто-то уже организовывал создание подпапок но только до 2-го уровня. Так как я не владею VBА на должном уровне помогите пожалуйста чтобы создавались папки до 4 уровня. Я привел примеры.  

 

Ян Андреевич

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

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

#27

10.08.2022 17:21:05

Здравствуйте, не хотелось плодить дополнительных тем, поэтому  пишу здесь:
По примеру решений на форуме, захотел сделать макрос, который создает папку исходя из данных из строк в exel.

при  этом важная задача:  привязывать создаваемые папки к региону .  а не сохранять в рандомных местах.
но выкидывает ошибку.
похоже на ошибку пунктуации.

Наименование создаваемой папки формируется из столбца 3,2 , 4 и 5.  

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

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

  • сохранение.xlsm (24.71 КБ)

На чтение 3 мин. Просмотров 111 Опубликовано 21.05.2021

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

Создание папок на основе значений ячеек с помощью Kutools for Excel

Создавайте папки и подпапки на основе значений ячеек с помощью Kutools for Excel


Содержание

  1. Создавайте папки на основе значений ячеек с помощью Kutools for Exce
  2. Создание папок и подпапок на основе значений ячеек с помощью Kutools для Excel
  3. Демо: создание папок и подпапок на основе значений ячеек с Kutools for Excel

Создавайте папки на основе значений ячеек с помощью Kutools for Exce

Если вы просто хотите для создания папок из списка значений ячеек, Kutools for Excel Create Folders from Cell Contents может помочь вам быстро и легко создавать папки.

Kutools for Excel : с более чем 300 удобными надстройками Excel , попробуйте бесплатно без ограничений в течение 30 дней .

Перейти к загрузке
Бесплатная пробная версия 30 днейПокупка
PayPal/MyCommerce

После установки Kutools for Excel , пожалуйста, сделайте следующее:

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

2 . Затем нажмите Kutools Plus > Импорт и экспорт > Создать папки из содержимого ячеек , см. Снимок экрана:

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

4 . Затем нажмите кнопку Ok , все папки были созданы на основе значений ячеек в указанном каталоге, см. Снимок экрана:


Создание папок и подпапок на основе значений ячеек с помощью Kutools для Excel

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

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

Затем вы можете применить функцию Создать папки из содержимого ячейки для создания папок и подпапок.

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

2 . Затем нажмите Kutools Plus > Импорт и экспорт > Создать папки из содержимого ячеек , чтобы открыть Создать Диалоговое окно Папки из содержимого ячеек .

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

4 . Затем нажмите кнопку Ok , папки и подпапки были созданы сразу на основе значений ячеек, см. Снимок экрана:


Демо: создание папок и подпапок на основе значений ячеек с Kutools for Excel

Kutools for Excel : с более чем 300 удобными надстройками Excel, бесплатно чтобы попробовать без ограничений в течение 30 дней. Скачать и бесплатную пробную версию прямо сейчас!


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

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

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

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

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

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

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

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

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

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

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