Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Макрос создание папки + гиперссылка на эту папку - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Макрос создание папки + гиперссылка на эту папку
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)
 
Ответить
СообщениеЗдравствуйте! Прошу помощи. Существует реестр с номером заявки на материал, наименованием объекта и названием материала. Как можно сделать, чтобы при выборе ячейки А1 (номер заявки) макрос создавал папку , которая называется по значению ячеек А1_F1_G1 и создавал гиперссылку в ячейке А1 на созданную папку? Желательно, чтобы все происходило при нажатии кнопки "создать папку" (в примере). То есть я жму кнопку, появляется окошко "выбери номер звявки" , я выбираю ячейку А1, создается папка + гиперссылка на нее в ячейке А1. И так далее по следующим строкам. Сам только начал изучать VBA, но многого не понимаю. Буду очень благодарен

Автор - halfcat
Дата добавления - 30.08.2017 в 09:39
iMrTidy Дата: Среда, 30.08.2017, 10:43 | Сообщение № 2
Группа: Пользователи
Ранг: Участник
Сообщений: 85
Репутация: 14 ±
Замечаний: 0% ±

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


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

Автор - iMrTidy
Дата добавления - 30.08.2017 в 10:43
sboy Дата: Среда, 30.08.2017, 10:47 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

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


Яндекс: 410016850021169
 
Ответить
СообщениеДобрый день.
Можете вот отсюда начать

Автор - sboy
Дата добавления - 30.08.2017 в 10:47
halfcat Дата: Среда, 30.08.2017, 11:13 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

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

Автор - halfcat
Дата добавления - 30.08.2017 в 11:13
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
 
Ответить
Сообщение
Буду очень благодарен

так нужно?

[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)

Автор - K-SerJC
Дата добавления - 30.08.2017 в 11:45
iMrTidy Дата: Среда, 30.08.2017, 12:41 | Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 85
Репутация: 14 ±
Замечаний: 0% ±

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


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

Автор - iMrTidy
Дата добавления - 30.08.2017 в 12:41
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]

и почему при переименовании ячейки из "номер заявки" в другое значение, ничего не работает
 
Ответить
СообщениеK-SerJC, примерно так, спасибо) пока изучаю Ваш код. но не понятно пару моментов

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

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

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

Автор - halfcat
Дата добавления - 30.08.2017 в 15:11
halfcat Дата: Среда, 30.08.2017, 15:13 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

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

Автор - halfcat
Дата добавления - 30.08.2017 в 15:13
K-SerJC Дата: Четверг, 31.08.2017, 07:43 | Сообщение № 9
Группа: Проверенные
Ранг: Обитатель
Сообщений: 487
Репутация: 86 ±
Замечаний: 0% ±

Excel 2013
ничего не работает

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

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

код в модуль1, забыл удалить, это пробничек был, он не задействован

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


Благими намерениями выстелена дорога в АД.
 
Ответить
Сообщение
ничего не работает

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

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

код в модуль1, забыл удалить, это пробничек был, он не задействован

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

Автор - K-SerJC
Дата добавления - 31.08.2017 в 07:43
halfcat Дата: Четверг, 31.08.2017, 11:05 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
K-SerJC, благодарю!
 
Ответить
СообщениеK-SerJC, благодарю!

Автор - halfcat
Дата добавления - 31.08.2017 в 11:05
halfcat Дата: Четверг, 31.08.2017, 13:41 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
K-SerJC, Здравствуйте. Немного поменял код под свои нужды и столкнулся с проблемой.
Если "номер заявки" это цифры, то папка создается, но на строке в коде, где должна создаваться гиперссылка, макрос останавливается с ошибкой.
Если "номер заявки" это текст, то все работает как надо. Не могу понять в чем проблема
Например если в ячейку "номер заявки" вписать "текст1" или "1 1"(с пробелом) , то так же все замечательно работает. А если просто "1", то ошибка
Было предположение, что дело в формате ячейки, но изменения не помогают
К сообщению приложен файл: 9348470.xlsm (19.6 Kb)
 
Ответить
СообщениеK-SerJC, Здравствуйте. Немного поменял код под свои нужды и столкнулся с проблемой.
Если "номер заявки" это цифры, то папка создается, но на строке в коде, где должна создаваться гиперссылка, макрос останавливается с ошибкой.
Если "номер заявки" это текст, то все работает как надо. Не могу понять в чем проблема
Например если в ячейку "номер заявки" вписать "текст1" или "1 1"(с пробелом) , то так же все замечательно работает. А если просто "1", то ошибка
Было предположение, что дело в формате ячейки, но изменения не помогают

Автор - halfcat
Дата добавления - 31.08.2017 в 13:41
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, В предпоследней строке измените
[vba]
Код
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=str, TextToDisplay:=CStr(ThisWorkbook.Sheets(shName).Cells(r, c).Value)
[/vba]

Автор - sboy
Дата добавления - 31.08.2017 в 13:58
halfcat Дата: Четверг, 31.08.2017, 14:51 | Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

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

Автор - halfcat
Дата добавления - 31.08.2017 в 14:51
sboy Дата: Четверг, 31.08.2017, 15:09 | Сообщение № 14
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

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


Яндекс: 410016850021169
 
Ответить
Сообщениеhalfcat, просто преобразовали в текст

Автор - sboy
Дата добавления - 31.08.2017 в 15:09
flatron78 Дата: Понедельник, 07.06.2021, 17:58 | Сообщение № 15
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

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


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

Автор - flatron78
Дата добавления - 07.06.2021 в 17:58
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!