Дро Пользователь Сообщений: 14 |
#1 10.10.2016 17:51:13 Здравствуйте.
Я добавляю к таблице новый список. Допустим первый столбец это страны (Россия, Казахстан). Второй города. И соответственно нужно создать на диске папку Россия, а в ней папки с названиями городов. И так для каждой страны. То есть одновременно сделать несколько папок стран и в каждой несколько папок городов. |
||
Sanja Пользователь Сообщений: 14838 |
#2 10.10.2016 18:08:46
Покажите структуру этих столбцов Согласие есть продукт при полном непротивлении сторон. |
||
Дро Пользователь Сообщений: 14 |
Получается каждый столбец даёт один уровень папок. Первая папка страна, затем город, потом улица и в конце номер. Изменено: Дро — 11.10.2016 22:08:58 |
Юрий М Модератор Сообщений: 60588 Контакты см. в профиле |
Дро, код следует оформлять соответствующим тегом. Видели, как это выглядит у других? |
Дро Пользователь Сообщений: 14 |
#5 11.10.2016 18:00:51
Изменено: Дро — 11.10.2016 18:02:10 |
||||
Дро Пользователь Сообщений: 14 |
#6 11.10.2016 18:05:06 у меня наверное не вышло с этими стрелками. Ну я всё таки прошу помочь мне, а то у меня не выходит. Структура во вложении. Сначала идут папки b, в них c, в c находятся a.
Прикрепленные файлы
Изменено: Дро — 11.10.2016 22:08:31 |
||||
Дро Пользователь Сообщений: 14 |
В каждом столбце тысячи строчек. И они все вперемешку. То есть подряд вперемешку идут разные районы, улицы. |
Дро Пользователь Сообщений: 14 |
Я могу первым макросом в одной папке создать много папок за раз. Но в каждой из этих папок должно быть ещё по одной-две папки с номером. А первым коду это нереально. Это вручную менять в нём адрес каждый раз очень долго будет. Может можно сделать какие то ссылки на ячейки. Изменено: Дро — 12.10.2016 12:38:30 |
VSerg Пользователь Сообщений: 370 |
#9 11.10.2016 20:31:37 Попробуйте так, если я правильно понял задачу.
|
||
kuklp Пользователь Сообщений: 14868 E-mail и реквизиты в профиле. |
#10 11.10.2016 21:08:56
Я сам — дурнее всякого примера! … |
||
Дрозд Пользователь Сообщений: 3 |
Круто. Всё получилось. Спасибо! Код от VSerg использовал. Изменено: Дрозд — 11.10.2016 22:14:05 |
Дро Пользователь Сообщений: 14 |
А можно исключить не только пустые ячейки, но и ячейки со значениями папки на которые создавать не надо? Папки из некоторых строчек создавать не надо. |
Юрий М Модератор Сообщений: 60588 Контакты см. в профиле |
Дро, Дрозд, снова Дро — с какой целью меняете? |
JayBhagavan Пользователь Сообщений: 11833 ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64 |
Юрий М, это два разных пользователя (УИД разный), хотя физически м.б. один. <#0> |
Юрий М Модератор Сообщений: 60588 Контакты см. в профиле |
Я вижу, но не исключено, что просто с разных машин. Подождём «ответчика» ) |
Дро Пользователь Сообщений: 14 |
Да это я с работы и из дома |
Юрий М Модератор Сообщений: 60588 Контакты см. в профиле |
Понятно. Две учётные записи? |
Дро Пользователь Сообщений: 14 |
|
Юрий М Модератор Сообщений: 60588 Контакты см. в профиле |
А теперь прочитайте Правила. Особое внимание на п. 3.3 |
Дро Пользователь Сообщений: 14 |
Мне надо было срочно на работе, а я не помнил пароль ни от сайта, ни от ящика через который зарегистрировался. Пришлось ещё раз зарегистрироваться. |
Юрий М Модератор Сообщений: 60588 Контакты см. в профиле |
#21 12.10.2016 12:39:45 Связывайтесь с администратором -владельцем сайта и объясняйте ситуацию. |
Предположим, у вас есть список имен сотрудников в диапазоне рабочего листа, и теперь вы хотите создать несколько папок для каждого из них в ячейках для записи их информации. Если вы будете создавать папки одну за другой, это займет много времени. Но как быстро создать эти папки? Сегодня я расскажу вам несколько простых приемов:
Создавать папки на основе значений ячеек с кодом VBA
Быстро создавайте папки на основе значений ячеек с Kutools for Excel
Создавать папки на основе значений ячеек с кодом VBA
Например, у меня есть диапазон имен на листе, я хочу создать папки для каждого из них и сохранить их по указанному пути, с кодом VBA я могу завершить эту задачу.
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. Нажмите кнопку для выполнения кода. Все выбранные ячейки были созданы в папки со своими значениями. И папки помещаются в путь так же, как активная книга. Смотрите скриншот:
Быстро создавайте папки на основе значений ячеек с Kutools for Excel
Вам легко и удобно создавать папки на основе значений ячеек, если вы используете инструмент- Kutools for Excel.
После установки Kutools for Excel, пожалуйста, сделайте следующее:(Бесплатная загрузка Kutools for Excel Сейчас!)
1. Выберите диапазон, в котором вы хотите создать папки.
2. Нажмите Кутулс Плюс > Импорт / Экспорт > Создание папок из содержимого ячеек…, См. Снимок экрана:
3. В Создание папок из содержимого ячеек диалоговое окно, нажмите кнопку, чтобы указать путь, по которому вы хотите сохранить папки. Видно скриншот:
4. Нажмите OK. И окно подсказки напомнит вам, сколько папок было создано. Смотрите скриншот:
5. Нажмите OK. И все значения в выбранном диапазоне были созданы папками в указанной папке.
Перечислить все имена файлов из папки в лист
чтобы узнать больше об этой функции.
Вот утилита в Kutools for Excel – Список имен файлов может перечислить все имена файлов папки на листе, если он вам интересен, продолжайте читать.
После установки Kutools for Excel, пожалуйста, сделайте следующее:(Бесплатная загрузка Kutools for Excel Сейчас!)
1. Нажмите Кутулс Плюс > Импорт/Экспорт > Список имен файлов.
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создается новый лист со всеми именами файлов и некоторой относительной информацией.
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Доброго времени суток, Уважаемые!
Столкнулся с задачей похожей на вышеизложенную, но с маленьким нюансом.
Суть такова:
Необходимо создать некое подобие базы данных. В идеале должно выглядеть как папка с названием, предположим «Объект», в котором будет 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 минуты
И еще один вопрос, что нужно изменить в коде макроса по созданию папок, что бы, например папка Фотографии и вложенные в нее папки с именами из Экселевского файла, создавались при запуске макроса в той директории где в данный момент находится папка?
- Функции WinAPI
- Средства Windows
- Работа с файлами
Как известно, VBA-функция MkDir может создать только папку в существующем каталоге (папке).
Например, код MkDir «C:Папка» отработает корректно в любом случае (создаст указанную папку),
а код MkDir «C:ПапкаПодпапкаКаталог» выдаст ошибку Run-time error ’76’: Path not found
(потому что невозможно создать каталог Подпапка в несуществующем ещё каталоге Папка)
Можно, конечно, использовать несколько функций MkDir подряд — но это усложняет код.
Самый простой способ решения проблемы — использование WinAPI-функции SHCreateDirectoryEx, которая может создать все нужные папки и подпапки за один запуск.
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 End Sub
Пример использования функции SHCreateDirectoryEx:
Sub ПримерИспользованияCreateFolderWithSubfolders() ' этот макрос создаст на диске C папку "Создаваемая папка", ' в ней - подпапку "Подпапка", а в последней - подпапку 1234 Путь = "C:Создаваемая папкаПодпапка1234" CreateFolderWithSubfolders Путь End Sub
- 69916 просмотров
Не получается применить макрос? Не удаётся изменить код под свои нужды?
Оформите заказ у нас на сайте, не забыв прикрепить примеры файлов, и описать, что и как должно работать.
Макрос создающий папки из списка. |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |