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

Вход

Регистрация

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

 

= Мир MS Excel/Гиперссылки на папки - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Гиперссылки на папки
goodguytomtomtom Дата: Четверг, 06.10.2022, 11:05 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Доброго времени суток, подскажите как можно протянуть гиперссылки на папки чтобы не забивать каждую вручную.
Допустим есть столбец с ячейками по порядку 1,2,3 и так далее. Каждой ячейке нужно присвоить гипессылку на соответствующие папки пкеп-454, шрац-234, йцу-758 (примерно такие названия папок), все папки находятся по одному пути на диске компьютера. Сейчас я делаю просто вручную каждой ячейке присваиваю гиперссылку, можно ли как то протянуть, допустим в 1 ячейку сделал гиперссылку протянул и в остальных также появились ссылки на соответствующие папки. У меня Excell 2010, никаких дополнительных надстроек нет и не получится установить.
 
Ответить
СообщениеДоброго времени суток, подскажите как можно протянуть гиперссылки на папки чтобы не забивать каждую вручную.
Допустим есть столбец с ячейками по порядку 1,2,3 и так далее. Каждой ячейке нужно присвоить гипессылку на соответствующие папки пкеп-454, шрац-234, йцу-758 (примерно такие названия папок), все папки находятся по одному пути на диске компьютера. Сейчас я делаю просто вручную каждой ячейке присваиваю гиперссылку, можно ли как то протянуть, допустим в 1 ячейку сделал гиперссылку протянул и в остальных также появились ссылки на соответствующие папки. У меня Excell 2010, никаких дополнительных надстроек нет и не получится установить.

Автор - goodguytomtomtom
Дата добавления - 06.10.2022 в 11:05
Nic70y Дата: Четверг, 06.10.2022, 11:27 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 9006
Репутация: 2369 ±
Замечаний: 0% ±

Excel 2010
[vba]
Код
Sub u_721()
    Application.ScreenUpdating = False
    u = "D:\MY"
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFolder(u)
    Set fc = f.SubFolders
    i = 0
    For Each f1 In fc
        ActiveSheet.Hyperlinks.Add Anchor:=Cells(i + 1, "a"), Address:=f1, TextToDisplay:=f1.Name
        i = i + 1
    Next
    Application.ScreenUpdating = True
End Sub
[/vba]


ЮMoney 41001841029809
 
Ответить
Сообщение[vba]
Код
Sub u_721()
    Application.ScreenUpdating = False
    u = "D:\MY"
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFolder(u)
    Set fc = f.SubFolders
    i = 0
    For Each f1 In fc
        ActiveSheet.Hyperlinks.Add Anchor:=Cells(i + 1, "a"), Address:=f1, TextToDisplay:=f1.Name
        i = i + 1
    Next
    Application.ScreenUpdating = True
End Sub
[/vba]

Автор - Nic70y
Дата добавления - 06.10.2022 в 11:27
goodguytomtomtom Дата: Четверг, 06.10.2022, 11:34 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Блин я в экселе только печатать умею и пару формул, можешь подсказать где это нужно прописывать и как применить к ячейкам?


Сообщение отредактировал Serge_007 - Четверг, 06.10.2022, 12:19
 
Ответить
СообщениеБлин я в экселе только печатать умею и пару формул, можешь подсказать где это нужно прописывать и как применить к ячейкам?

Автор - goodguytomtomtom
Дата добавления - 06.10.2022 в 11:34
goodguytomtomtom Дата: Четверг, 06.10.2022, 11:44 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Nic70y, спасибо, я этот код вставил в макрос и прогнал, получается он вставил мне ссылки на все папки из указанного пути в ячейку A1, вопрос как сделать так чтобы он вставлял в ячейку на выбор, например чтобы начал вставлять с ячейки А25 и еще как сделать чтобы он вставлял не все папки которые по данному пути лежат а определенные но по порядку (допустим начиная с 20 папки и до 45).
 
Ответить
СообщениеNic70y, спасибо, я этот код вставил в макрос и прогнал, получается он вставил мне ссылки на все папки из указанного пути в ячейку A1, вопрос как сделать так чтобы он вставлял в ячейку на выбор, например чтобы начал вставлять с ячейки А25 и еще как сделать чтобы он вставлял не все папки которые по данному пути лежат а определенные но по порядку (допустим начиная с 20 папки и до 45).

Автор - goodguytomtomtom
Дата добавления - 06.10.2022 в 11:44
goodguytomtomtom Дата: Четверг, 06.10.2022, 11:53 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Nic70y, разобрался с ячейкой, это зависит от параметра i, не разобрался как выбрать нужный диапазон папок и еще как то можно чтобы вставлялись не названия папок в ячекй а определенные числа по порядку, например 1000, 1001, 1002 и т.д.
 
Ответить
СообщениеNic70y, разобрался с ячейкой, это зависит от параметра i, не разобрался как выбрать нужный диапазон папок и еще как то можно чтобы вставлялись не названия папок в ячекй а определенные числа по порядку, например 1000, 1001, 1002 и т.д.

Автор - goodguytomtomtom
Дата добавления - 06.10.2022 в 11:53
bigor Дата: Четверг, 06.10.2022, 12:09 | Сообщение № 6
Группа: Проверенные
Ранг: Старожил
Сообщений: 1277
Репутация: 246 ±
Замечаний: 0% ±

нет
Цитата goodguytomtomtom, 06.10.2022 в 11:53, в сообщении № 5 ()
не разобрался как выбрать нужный диапазон папок
, если они числами обозваны, то условие можно вставить в цикл типа
[vba]
Код
if val(f1.Name)>=20 and val(f1.Name) <46 then
ActiveSheet.Hyperlinks.Add Anchor:=Cells(i + 1, "a"), Address:=f1, TextToDisplay:=1000+i
i = i + 1
end if
[/vba]
и имена ссылок подправил
 
Ответить
Сообщение
Цитата goodguytomtomtom, 06.10.2022 в 11:53, в сообщении № 5 ()
не разобрался как выбрать нужный диапазон папок
, если они числами обозваны, то условие можно вставить в цикл типа
[vba]
Код
if val(f1.Name)>=20 and val(f1.Name) <46 then
ActiveSheet.Hyperlinks.Add Anchor:=Cells(i + 1, "a"), Address:=f1, TextToDisplay:=1000+i
i = i + 1
end if
[/vba]
и имена ссылок подправил

Автор - bigor
Дата добавления - 06.10.2022 в 12:09
Nic70y Дата: Четверг, 06.10.2022, 12:53 | Сообщение № 7
Группа: Друзья
Ранг: Экселист
Сообщений: 9006
Репутация: 2369 ±
Замечаний: 0% ±

Excel 2010
[vba]
Код
Sub u_721()
    Application.ScreenUpdating = False
    u = "D:\MY"
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFolder(u)
    Set fc = f.SubFolders
    i = 0
    x = 1
    For Each f1 In fc
        If x >= 20 And x <= 40 Then
            s = "'" & 1000 + i
            ActiveSheet.Hyperlinks.Add Anchor:=Cells(i + 1, "a"), Address:=f1, TextToDisplay:=s
            i = i + 1
        End If
        x = x + 1
    Next
    Application.ScreenUpdating = True
End Sub
[/vba]


ЮMoney 41001841029809
 
Ответить
Сообщение[vba]
Код
Sub u_721()
    Application.ScreenUpdating = False
    u = "D:\MY"
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFolder(u)
    Set fc = f.SubFolders
    i = 0
    x = 1
    For Each f1 In fc
        If x >= 20 And x <= 40 Then
            s = "'" & 1000 + i
            ActiveSheet.Hyperlinks.Add Anchor:=Cells(i + 1, "a"), Address:=f1, TextToDisplay:=s
            i = i + 1
        End If
        x = x + 1
    Next
    Application.ScreenUpdating = True
End Sub
[/vba]

Автор - Nic70y
Дата добавления - 06.10.2022 в 12:53
goodguytomtomtom Дата: Четверг, 06.10.2022, 13:49 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

bigor, Nic70y, спасибо вроде работает, только не понятно как берется параметр Х, допустим нужная папка, в сортировке по имени на диске, идет под номером 835, а в макрос я вставляю If x >= 812 And x <= 842 Then, тогда он мне ставит в первую ячейку нужную мне папку (та что 835 по счету на диске лежит) не понятно почему нужно ставить 812 а не 835, если что имя моих папок такие ПЭ-1187722, ПЭ-1187822, ПЭ-1187922, ПЭ-1188022 и так далее по порядку


Сообщение отредактировал goodguytomtomtom - Четверг, 06.10.2022, 14:07
 
Ответить
Сообщениеbigor, Nic70y, спасибо вроде работает, только не понятно как берется параметр Х, допустим нужная папка, в сортировке по имени на диске, идет под номером 835, а в макрос я вставляю If x >= 812 And x <= 842 Then, тогда он мне ставит в первую ячейку нужную мне папку (та что 835 по счету на диске лежит) не понятно почему нужно ставить 812 а не 835, если что имя моих папок такие ПЭ-1187722, ПЭ-1187822, ПЭ-1187922, ПЭ-1188022 и так далее по порядку

Автор - goodguytomtomtom
Дата добавления - 06.10.2022 в 13:49
Nic70y Дата: Четверг, 06.10.2022, 14:00 | Сообщение № 9
Группа: Друзья
Ранг: Экселист
Сообщений: 9006
Репутация: 2369 ±
Замечаний: 0% ±

Excel 2010
возможно есть скрытые папки


ЮMoney 41001841029809
 
Ответить
Сообщениевозможно есть скрытые папки

Автор - Nic70y
Дата добавления - 06.10.2022 в 14:00
bigor Дата: Четверг, 06.10.2022, 14:46 | Сообщение № 10
Группа: Проверенные
Ранг: Старожил
Сообщений: 1277
Репутация: 246 ±
Замечаний: 0% ±

нет
Если имена папок как Вы описали, то вариант отслеживания по имени более практичен, только нужно брать не полное имя, а первые 5 цифр. Для папок ПЭ-1183522 до ПЭ-1185522

[vba]
Код
Sub u_721()
    Application.ScreenUpdating = False
    u = "D:\MY"
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFolder(u)
    Set fc = f.SubFolders
    i = 0
    For Each f1 In fc
        If val(mid(f1.Name,4,5)) >= 11835 And val(mid(f1.Name,4,5)) <= 11855 Then
            s = "'" & 1000 + i
            ActiveSheet.Hyperlinks.Add Anchor:=Cells(i + 1, "a"), Address:=f1, TextToDisplay:=s
            i = i + 1
        End If
     Next
    Application.ScreenUpdating = True
End Sub
[/vba]
 
Ответить
СообщениеЕсли имена папок как Вы описали, то вариант отслеживания по имени более практичен, только нужно брать не полное имя, а первые 5 цифр. Для папок ПЭ-1183522 до ПЭ-1185522

[vba]
Код
Sub u_721()
    Application.ScreenUpdating = False
    u = "D:\MY"
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFolder(u)
    Set fc = f.SubFolders
    i = 0
    For Each f1 In fc
        If val(mid(f1.Name,4,5)) >= 11835 And val(mid(f1.Name,4,5)) <= 11855 Then
            s = "'" & 1000 + i
            ActiveSheet.Hyperlinks.Add Anchor:=Cells(i + 1, "a"), Address:=f1, TextToDisplay:=s
            i = i + 1
        End If
     Next
    Application.ScreenUpdating = True
End Sub
[/vba]

Автор - bigor
Дата добавления - 06.10.2022 в 14:46
Nic70y Дата: Четверг, 06.10.2022, 15:05 | Сообщение № 11
Группа: Друзья
Ранг: Экселист
Сообщений: 9006
Репутация: 2369 ±
Замечаний: 0% ±

Excel 2010
формула
Код
=ГИПЕРССЫЛКА()
если файл в той же папке, что и папки C6 не нужна
К сообщению приложен файл: 88.xlsx (10.8 Kb)


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Четверг, 06.10.2022, 15:07
 
Ответить
Сообщениеформула
Код
=ГИПЕРССЫЛКА()
если файл в той же папке, что и папки C6 не нужна

Автор - Nic70y
Дата добавления - 06.10.2022 в 15:05
goodguytomtomtom Дата: Четверг, 06.10.2022, 15:18 | Сообщение № 12
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

bigor, спасибо, форум топ.
 
Ответить
Сообщениеbigor, спасибо, форум топ.

Автор - goodguytomtomtom
Дата добавления - 06.10.2022 в 15:18
  • Страница 1 из 1
  • 1
Поиск:

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