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:Новая папка"
 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 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 КБ)

 

Юрий М

Модератор

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

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

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

 

argyman

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

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

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

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 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 КБ)

Доброго времени суток, Уважаемые!
Столкнулся с задачей похожей на вышеизложенную, но с маленьким нюансом.
Суть такова:
Необходимо создать некое подобие базы данных. В идеале должно выглядеть как папка с названием, предположим «Объект», в котором будет 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 минуты
И еще один вопрос, что нужно изменить в коде макроса по созданию папок, что бы, например папка Фотографии и вложенные в нее папки с именами из Экселевского файла, создавались при запуске макроса в той директории где в данный момент находится папка?

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

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

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

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

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

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

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

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

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

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

Макрос создание папки + гиперссылка на эту папку

halfcat

Дата: Среда, 30.08.2017, 09:39 |
Сообщение № 1

Группа: Пользователи

Ранг: Новичок

Сообщений: 12


Репутация:

0

±

Замечаний:
0% ±


Excel 2013

Здравствуйте! Прошу помощи. Существует реестр с номером заявки на материал, наименованием объекта и названием материала. Как можно сделать, чтобы при выборе ячейки А1 (номер заявки) макрос создавал папку , которая называется по значению ячеек А1_F1_G1 и создавал гиперссылку в ячейке А1 на созданную папку? Желательно, чтобы все происходило при нажатии кнопки «создать папку» (в примере). То есть я жму кнопку, появляется окошко «выбери номер звявки» , я выбираю ячейку А1, создается папка + гиперссылка на нее в ячейке А1. И так далее по следующим строкам. Сам только начал изучать VBA, но многого не понимаю. Буду очень благодарен

К сообщению приложен файл:

1408308.xlsx
(11.7 Kb)

 

Ответить

iMrTidy

Дата: Среда, 30.08.2017, 10:43 |
Сообщение № 2

Группа: Пользователи

Ранг: Участник

Сообщений: 85


Репутация:

14

±

Замечаний:
0% ±


NO

halfcat, а что именно вызывает сложность. Или Вам нужно, чтобы кто-то просто сделал все за Вас?


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

 

Ответить

sboy

Дата: Среда, 30.08.2017, 10:47 |
Сообщение № 3

Группа: Друзья

Ранг: Участник клуба

Сообщений: 2566


Репутация:

724

±

Замечаний:
0% ±


Excel 2010

Добрый день.
Можете вот отсюда начать


Яндекс: 410016850021169

 

Ответить

halfcat

Дата: Среда, 30.08.2017, 11:13 |
Сообщение № 4

Группа: Пользователи

Ранг: Новичок

Сообщений: 12


Репутация:

0

±

Замечаний:
0% ±


Excel 2013

iMrTidy, пока все вызывает сложность. Просто много работаю с Excel, хочется упростить свой труд. Начал интересоваться макросами, но пока только читаю книгу John_Walkenbach. Как мне самому решить свою задачу я не понимаю %)

 

Ответить

K-SerJC

Дата: Среда, 30.08.2017, 11:45 |
Сообщение № 5

Группа: Проверенные

Ранг: Обитатель

Сообщений: 487


Репутация:

86

±

Замечаний:
0% ±


Excel 2013


так нужно?

[vba]

Код

Sub HiperFolder()
01 If ActiveCell.Column > 1 Or ActiveCell.Row < 2 Then Exit Sub
02 Dim mypath, shName, str, r, c
03 mypath = ThisWorkbook.Path
04 shName = ActiveSheet.Name
05 r = ActiveCell.Row
06 c = ActiveCell.Column
07 str = ThisWorkbook.Sheets(shName).Cells(r, c).Value & ThisWorkbook.Sheets(shName).Cells(r, c + 5).Value & ThisWorkbook.Sheets(shName).Cells(r, c + 6).Value
08 str = mypath & «/» & str
09 MkDir (str)
10 ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=str, TextToDisplay:=ThisWorkbook.Sheets(shName).Cells(r, c).Value
11 End Sub

[/vba]
по просьбе ТС комментарии:
01 делаем проверку, если выделена ячейка не первом столбце или в первой строке, выходим из макроса
02 объявляем переменные, которые будут использованы в этой процедуре
03 запоминаем в переменную путь откуда открыта эта книга
04 запоминаем имя активного листа книги
05 запоминаем номер строки выделенной ячейки
06 запоминаем номер столбца выделенной ячейки
07 создаем в переменной str имя папки из значений трех ячеек
08 добавляем к имени папки путь хранения этой книги, получаем полный путь к папке
09 создаем папку по этому пути
10 создаем гиперссылку в выделенной ячейке(Anchor), путь гиперссылки (Address), текст отражаемый в ячейке (TextToDisplay)

К сообщению приложен файл:

halfcat.xlsm
(18.9 Kb)


Благими намерениями выстелена дорога в АД.

Сообщение отредактировал K-SerJCЧетверг, 31.08.2017, 10:27

 

Ответить

iMrTidy

Дата: Среда, 30.08.2017, 12:41 |
Сообщение № 6

Группа: Пользователи

Ранг: Участник

Сообщений: 85


Репутация:

14

±

Замечаний:
0% ±


NO

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


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

 

Ответить

halfcat

Дата: Среда, 30.08.2017, 15:11 |
Сообщение № 7

Группа: Пользователи

Ранг: Новичок

Сообщений: 12


Репутация:

0

±

Замечаний:
0% ±


Excel 2013

K-SerJC, примерно так, спасибо) пока изучаю Ваш код. но не понятно пару моментов

вот эта часть:

[vba]

Код

Range(«A2»).Select
    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=»Анна%20Федотенко», _
        TextToDisplay:=»номер заявки»

[/vba]

и почему при переименовании ячейки из «номер заявки» в другое значение, ничего не работает

 

Ответить

halfcat

Дата: Среда, 30.08.2017, 15:13 |
Сообщение № 8

Группа: Пользователи

Ранг: Новичок

Сообщений: 12


Репутация:

0

±

Замечаний:
0% ±


Excel 2013

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

 

Ответить

K-SerJC

Дата: Четверг, 31.08.2017, 07:43 |
Сообщение № 9

Группа: Проверенные

Ранг: Обитатель

Сообщений: 487


Репутация:

86

±

Замечаний:
0% ±


Excel 2013


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

основной код лежит в книге и в сообщении №5 приведен.


Благими намерениями выстелена дорога в АД.

 

Ответить

halfcat

Дата: Четверг, 31.08.2017, 11:05 |
Сообщение № 10

Группа: Пользователи

Ранг: Новичок

Сообщений: 12


Репутация:

0

±

Замечаний:
0% ±


Excel 2013

K-SerJC, благодарю!

 

Ответить

halfcat

Дата: Четверг, 31.08.2017, 13:41 |
Сообщение № 11

Группа: Пользователи

Ранг: Новичок

Сообщений: 12


Репутация:

0

±

Замечаний:
0% ±


Excel 2013

K-SerJC, Здравствуйте. Немного поменял код под свои нужды и столкнулся с проблемой.
Если «номер заявки» это цифры, то папка создается, но на строке в коде, где должна создаваться гиперссылка, макрос останавливается с ошибкой.
Если «номер заявки» это текст, то все работает как надо. Не могу понять в чем проблема
Например если в ячейку «номер заявки» вписать «текст1» или «1 1″(с пробелом) , то так же все замечательно работает. А если просто «1», то ошибка
Было предположение, что дело в формате ячейки, но изменения не помогают

К сообщению приложен файл:

9348470.xlsm
(19.6 Kb)

 

Ответить

sboy

Дата: Четверг, 31.08.2017, 13:58 |
Сообщение № 12

Группа: Друзья

Ранг: Участник клуба

Сообщений: 2566


Репутация:

724

±

Замечаний:
0% ±


Excel 2010

halfcat, В предпоследней строке измените
[vba]

Код

ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=str, TextToDisplay:=CStr(ThisWorkbook.Sheets(shName).Cells(r, c).Value)

[/vba]


Яндекс: 410016850021169

 

Ответить

halfcat

Дата: Четверг, 31.08.2017, 14:51 |
Сообщение № 13

Группа: Пользователи

Ранг: Новичок

Сообщений: 12


Репутация:

0

±

Замечаний:
0% ±


Excel 2013

sboy, спасибо, заработало. а в чем смысл изменения? в чем суть ошибки?

 

Ответить

sboy

Дата: Четверг, 31.08.2017, 15:09 |
Сообщение № 14

Группа: Друзья

Ранг: Участник клуба

Сообщений: 2566


Репутация:

724

±

Замечаний:
0% ±


Excel 2010

halfcat, просто преобразовали в текст


Яндекс: 410016850021169

 

Ответить

flatron78

Дата: Понедельник, 07.06.2021, 17:58 |
Сообщение № 15

Группа: Пользователи

Ранг: Прохожий

Сообщений: 1


Репутация:

0

±

Замечаний:
0% ±


Добрый день. Помогите немного переделать макрос из 5 сообщения.
Папка должна создаваться по пути S:IL6S14. БАЗЫ ДАННЫХ8. РЕГИСТРАЦИЯ ДЕФЕКТОВ8. Регистрация дефектов_Складыфото, сам файл будет в другой папке
Название папки береться из первой ячейки А
Гиперссылка должна отображаться в ячейке N Ссылка на фото
Спасибо.

К сообщению приложен файл:

2021__.xlsm
(21.4 Kb)

Сообщение отредактировал flatron78Понедельник, 07.06.2021, 18:04

 

Ответить

Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Excel создать массив формулой
  • Excel создать массив значений
  • Excel создать маску ввода
  • Excel создать макрос который выводит фамилию
  • Excel создать макрос для всех книг

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии