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

Вход

Регистрация

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

 

= Мир MS Excel/Как сделать выпадающий список с гиперссылками - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Как сделать выпадающий список с гиперссылками
Thefamilyman Дата: Четверг, 10.03.2011, 20:58 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Требуется из большого списка с фамилиями создать выпадающий список с гиперссылками на конкретную выбранную фамилию с переходом на другой лист с этой фамилией.
Очень нужно . Файл прикрепляю.
К сообщению приложен файл: ___.xlsm (12.0 Kb)


Сообщение отредактировал Thefamilyman - Четверг, 10.03.2011, 21:02
 
Ответить
СообщениеТребуется из большого списка с фамилиями создать выпадающий список с гиперссылками на конкретную выбранную фамилию с переходом на другой лист с этой фамилией.
Очень нужно . Файл прикрепляю.

Автор - Thefamilyman
Дата добавления - 10.03.2011 в 20:58
Michael_S Дата: Четверг, 10.03.2011, 22:41 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация: 373 ±
Замечаний: 0% ±

Excel2016
я так понимаю, что раз выложенно в .xlsm, то подойдет и макрос. Если выложите в формате .xls, то Вам его напишут в две секунды
 
Ответить
Сообщениея так понимаю, что раз выложенно в .xlsm, то подойдет и макрос. Если выложите в формате .xls, то Вам его напишут в две секунды

Автор - Michael_S
Дата добавления - 10.03.2011 в 22:41
Thefamilyman Дата: Четверг, 10.03.2011, 23:33 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Буду очень благодарен даже в xls. В принципе без разнице я ищу удобное решение этого вопроса.
К сообщению приложен файл: 8316967.xlsx (97.8 Kb)
 
Ответить
СообщениеБуду очень благодарен даже в xls. В принципе без разнице я ищу удобное решение этого вопроса.

Автор - Thefamilyman
Дата добавления - 10.03.2011 в 23:33
Michael_S Дата: Четверг, 10.03.2011, 23:56 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация: 373 ±
Замечаний: 0% ±

Excel2016
Quote (Thefamilyman)
Буду очень благодарен даже в xls.

Вообще-то я имел ввиду, что Вы выложите свой файл в формате 2003 (.xls), не у всех, кто может и желает помочь, есть 2007 и выше, они просто не могут посмотреть Ваш файл.
зы. Об этом ясно сказано в правилах.
ps.ps. Я Ваш файл могу посмотреть, но не умею (не люблю) писать макросы.
 
Ответить
Сообщение
Quote (Thefamilyman)
Буду очень благодарен даже в xls.

Вообще-то я имел ввиду, что Вы выложите свой файл в формате 2003 (.xls), не у всех, кто может и желает помочь, есть 2007 и выше, они просто не могут посмотреть Ваш файл.
зы. Об этом ясно сказано в правилах.
ps.ps. Я Ваш файл могу посмотреть, но не умею (не люблю) писать макросы.

Автор - Michael_S
Дата добавления - 10.03.2011 в 23:56
Serge_007 Дата: Пятница, 11.03.2011, 00:18 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
См. файл.
Список с гиперссылками создаётся каждый раз при переходе на лист INDEX, так что добавив новый лист он отобразится в списке как только Вы хотя бы один раз заглянете на лист с оглавлением.
К сообщению приложен файл: Thefamilyman.xlsm (20.7 Kb)


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеСм. файл.
Список с гиперссылками создаётся каждый раз при переходе на лист INDEX, так что добавив новый лист он отобразится в списке как только Вы хотя бы один раз заглянете на лист с оглавлением.

Автор - Serge_007
Дата добавления - 11.03.2011 в 00:18
Alex_ST Дата: Пятница, 11.03.2011, 08:23 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Серёга, ну не честно же выкладывать в формате 2007-2010...
Хотел посмотреть, поинтересоваться как делается выпадающий список с гиперссылками...
Или для этого используется какая-то фича, 2003-им не поддерживаемая?
..................
..................
Конвертнул. Посмотрел.
Повторяю: "Так не честно!" biggrin
Лист со списком страниц-гиперссылками я и сам умею делать.
А топик-стартер просил
Quote (Thefamilyman)
выпадающий список с гиперссылками



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Пятница, 11.03.2011, 08:57
 
Ответить
СообщениеСерёга, ну не честно же выкладывать в формате 2007-2010...
Хотел посмотреть, поинтересоваться как делается выпадающий список с гиперссылками...
Или для этого используется какая-то фича, 2003-им не поддерживаемая?
..................
..................
Конвертнул. Посмотрел.
Повторяю: "Так не честно!" biggrin
Лист со списком страниц-гиперссылками я и сам умею делать.
А топик-стартер просил
Quote (Thefamilyman)
выпадающий список с гиперссылками

Автор - Alex_ST
Дата добавления - 11.03.2011 в 08:23
Serge_007 Дата: Пятница, 11.03.2011, 09:33 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Alex, я ориентировался на :
Quote (Thefamilyman)
В принципе без разнице я ищу удобное решение этого вопроса

На мой взгляд это решение куда удобнее выпадающего списка.
Впрочем, подождём ТС, он и скажет устраивает его или нет.



ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеAlex, я ориентировался на :
Quote (Thefamilyman)
В принципе без разнице я ищу удобное решение этого вопроса

На мой взгляд это решение куда удобнее выпадающего списка.
Впрочем, подождём ТС, он и скажет устраивает его или нет.


Автор - Serge_007
Дата добавления - 11.03.2011 в 09:33
Useful Дата: Пятница, 11.03.2011, 14:16 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Vizit here
Hyperlink


MY EXCEL WORLD ONE WORLD ONE DREAM!
 
Ответить
СообщениеVizit here
Hyperlink

Автор - Useful
Дата добавления - 11.03.2011 в 14:16
Alex_ST Дата: Пятница, 11.03.2011, 14:48 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Александр, два замечания по коду:
1. В макросе должно быть прописано Address:="" , а не Address:="___.xlsm"
2. Надо как-то ограничить выпадающий список списком имён листов книги.

А по интерфейсу: Вы сами пробовали выбрать список в ячейке, в которой ещё и гиперссылка прописана? Я бы сказал, что это мягко говоря не слишком "юзабилити" biggrin




С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеАлександр, два замечания по коду:
1. В макросе должно быть прописано Address:="" , а не Address:="___.xlsm"
2. Надо как-то ограничить выпадающий список списком имён листов книги.

А по интерфейсу: Вы сами пробовали выбрать список в ячейке, в которой ещё и гиперссылка прописана? Я бы сказал, что это мягко говоря не слишком "юзабилити" biggrin


Автор - Alex_ST
Дата добавления - 11.03.2011 в 14:48
Alex_ST Дата: Пятница, 11.03.2011, 14:52 | Сообщение № 10
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Quote (Useful)
Vizit here
Hyperlink

Well, where do this topic? (ну и при чём здесь эта тема?)




С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
Сообщение
Quote (Useful)
Vizit here
Hyperlink

Well, where do this topic? (ну и при чём здесь эта тема?)


Автор - Alex_ST
Дата добавления - 11.03.2011 в 14:52
Useful Дата: Пятница, 11.03.2011, 15:43 | Сообщение № 11
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Цитата (Alex_ST)
Well, where do this topic? (ну и при чём здесь эта тема?)

Здраствуйте!
the uploaded file was non .xls therefore i couldn't to understand more clearly

[vba]
Код
Sub Hyperlink()
    Dim t As String
    t = Range("c1").Value
    Windows("Hyper.xls").Activate
    Sheets(t).Select
    Range("A1").Select
End Sub
[/vba]
К сообщению приложен файл: Hyper.xls (46.0 Kb)


MY EXCEL WORLD ONE WORLD ONE DREAM!
 
Ответить
Сообщение
Цитата (Alex_ST)
Well, where do this topic? (ну и при чём здесь эта тема?)

Здраствуйте!
the uploaded file was non .xls therefore i couldn't to understand more clearly

[vba]
Код
Sub Hyperlink()
    Dim t As String
    t = Range("c1").Value
    Windows("Hyper.xls").Activate
    Sheets(t).Select
    Range("A1").Select
End Sub
[/vba]

Автор - Useful
Дата добавления - 11.03.2011 в 15:43
_Boroda_ Дата: Пятница, 11.03.2011, 23:05 | Сообщение № 12
Группа: Админы
Ранг: Местный житель
Сообщений: 16718
Репутация: 6505 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Alex_ST,
По п.1 согласен, недоглядел, тогда код такой
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "C1" Then
      a_ = Range("c1")
      ActiveSheet.Hyperlinks.Add Anchor:=Range("c1"), Address:=ThisWorkbook.Name, _
          SubAddress:="'" & a_ & "'!A1", TextToDisplay:=a_
End If
End Sub
[/vba]
По п.2 - а зачем? При попытке перейти просто ругается "Неверная ссылка"


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеAlex_ST,
По п.1 согласен, недоглядел, тогда код такой
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "C1" Then
      a_ = Range("c1")
      ActiveSheet.Hyperlinks.Add Anchor:=Range("c1"), Address:=ThisWorkbook.Name, _
          SubAddress:="'" & a_ & "'!A1", TextToDisplay:=a_
End If
End Sub
[/vba]
По п.2 - а зачем? При попытке перейти просто ругается "Неверная ссылка"

Автор - _Boroda_
Дата добавления - 11.03.2011 в 23:05
Alex_ST Дата: Пятница, 11.03.2011, 23:18 | Сообщение № 13
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
_Boroda_,
опять не так.
Надо так:[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "C1" Then
      a_ = Range("c1")
      ActiveSheet.Hyperlinks.Add Anchor:=Range("c1"), Address:="", _
          SubAddress:="'" & a_ & "'!A1", TextToDisplay:=a_
End If
End Sub
[/vba]

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



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
Сообщение_Boroda_,
опять не так.
Надо так:[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "C1" Then
      a_ = Range("c1")
      ActiveSheet.Hyperlinks.Add Anchor:=Range("c1"), Address:="", _
          SubAddress:="'" & a_ & "'!A1", TextToDisplay:=a_
End If
End Sub
[/vba]

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

Автор - Alex_ST
Дата добавления - 11.03.2011 в 23:18
Alex_ST Дата: Понедельник, 14.03.2011, 14:06 | Сообщение № 14
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Я тут на досуге поковырялся...
Сделал формирование списка валидации (проверки значения) только из имеющихся в книге листов и вместо гиперссылки (что оказалось неудобным) сделал переход по дабл-клику.
К сообщению приложен файл: __.zip (19.1 Kb)



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеЯ тут на досуге поковырялся...
Сделал формирование списка валидации (проверки значения) только из имеющихся в книге листов и вместо гиперссылки (что оказалось неудобным) сделал переход по дабл-клику.

Автор - Alex_ST
Дата добавления - 14.03.2011 в 14:06
Alex_ST Дата: Понедельник, 14.03.2011, 15:16 | Сообщение № 15
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Малость перемудрил в стандартном модуле wink
Вполне достаточно записать так:[vba]
Код
Sub SetValidation(rCell As Range)   ' формирование списка проверки данных в заданной ячейке
     With rCell.Validation
        .Delete
        .Add Type:=xlValidateList, _
             Formula1:=Join(ListWbkNames, ",")
     End With
End Sub
Function ListWbkNames()   ' формирование массива-списка листов текущей книги
     Dim i%, Arr()
     ReDim Arr(1 To Sheets.Count)
     For i = 1 To Sheets.Count
        If Sheets(i).Visible = -1 Then Arr(i) = Sheets(i).Name
     Next
     ListWbkNames = Arr
End Function
[/vba]
и вовсе ни к чему там использовать мои любимые словари cool



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеМалость перемудрил в стандартном модуле wink
Вполне достаточно записать так:[vba]
Код
Sub SetValidation(rCell As Range)   ' формирование списка проверки данных в заданной ячейке
     With rCell.Validation
        .Delete
        .Add Type:=xlValidateList, _
             Formula1:=Join(ListWbkNames, ",")
     End With
End Sub
Function ListWbkNames()   ' формирование массива-списка листов текущей книги
     Dim i%, Arr()
     ReDim Arr(1 To Sheets.Count)
     For i = 1 To Sheets.Count
        If Sheets(i).Visible = -1 Then Arr(i) = Sheets(i).Name
     Next
     ListWbkNames = Arr
End Function
[/vba]
и вовсе ни к чему там использовать мои любимые словари cool

Автор - Alex_ST
Дата добавления - 14.03.2011 в 15:16
Мур Дата: Среда, 20.03.2013, 14:03 | Сообщение № 16
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

Приветствую участников форума!
Данную тему нашел по поиску.
У меня тоже возникла необходимость в выпадыющем списке из гиперссылок.
Цель - экономия места на экране. Только переход не на другие листы Excel, а по сети на
Wordовские файлы.
Из просмотренного выше получается, что это сложно или даже невозможно?
И еще в дополнение вопрос, в примечание возможно вставить гиперссылку, а лучше две или три?
Если да, то как
К сообщению приложен файл: Giperss.xls (25.0 Kb)
 
Ответить
СообщениеПриветствую участников форума!
Данную тему нашел по поиску.
У меня тоже возникла необходимость в выпадыющем списке из гиперссылок.
Цель - экономия места на экране. Только переход не на другие листы Excel, а по сети на
Wordовские файлы.
Из просмотренного выше получается, что это сложно или даже невозможно?
И еще в дополнение вопрос, в примечание возможно вставить гиперссылку, а лучше две или три?
Если да, то как

Автор - Мур
Дата добавления - 20.03.2013 в 14:03
Jhonson Дата: Четверг, 21.03.2013, 14:45 | Сообщение № 17
Группа: Друзья
Ранг: Ветеран
Сообщений: 514
Репутация: 169 ±
Замечаний: 0% ±

Не совсем гиперссылки, но файлы открывает:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$10" Then
       On Error Resume Next
       Dim f As String, n As Integer
       f = Target.Value
       n = MsgBox("Открыть " & f & "?", 65, "Внимание!")
       If n = 1 Then
           If Dir(f) = "" Then MsgBox ("Ошибка открытия файла!"): Exit Sub
           f = Chr(34) & f & Chr(34)
           CreateObject("WScript.Shell").Run f
       End If
End If
End Sub
[/vba]
По гиперссылкам в примечаниях здесь посмотрите
К сообщению приложен файл: Giperss_1.xls (30.5 Kb)


"Ничто не приносит людям столько неприятностей, как разум."

Сообщение отредактировал Jhonson - Четверг, 21.03.2013, 15:19
 
Ответить
СообщениеНе совсем гиперссылки, но файлы открывает:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$10" Then
       On Error Resume Next
       Dim f As String, n As Integer
       f = Target.Value
       n = MsgBox("Открыть " & f & "?", 65, "Внимание!")
       If n = 1 Then
           If Dir(f) = "" Then MsgBox ("Ошибка открытия файла!"): Exit Sub
           f = Chr(34) & f & Chr(34)
           CreateObject("WScript.Shell").Run f
       End If
End If
End Sub
[/vba]
По гиперссылкам в примечаниях здесь посмотрите

Автор - Jhonson
Дата добавления - 21.03.2013 в 14:45
Мур Дата: Пятница, 22.03.2013, 12:20 | Сообщение № 18
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

Jhonson, приветствую.
Еще не разбирался с кодом, возможно у меня будут вопросы по нему.
Проверил как работает, вроде нормально.
И большое спасибо!
Можо внести изменения, чтобы как в примере?
К сообщению приложен файл: _Giperss_2.xls (30.0 Kb)
 
Ответить
СообщениеJhonson, приветствую.
Еще не разбирался с кодом, возможно у меня будут вопросы по нему.
Проверил как работает, вроде нормально.
И большое спасибо!
Можо внести изменения, чтобы как в примере?

Автор - Мур
Дата добавления - 22.03.2013 в 12:20
Jhonson Дата: Пятница, 22.03.2013, 12:29 | Сообщение № 19
Группа: Друзья
Ранг: Ветеран
Сообщений: 514
Репутация: 169 ±
Замечаний: 0% ±

Будут вопросы обращайтесь
К сообщению приложен файл: _Giperss_3.xls (30.5 Kb)


"Ничто не приносит людям столько неприятностей, как разум."
 
Ответить
СообщениеБудут вопросы обращайтесь

Автор - Jhonson
Дата добавления - 22.03.2013 в 12:29
  • Страница 1 из 1
  • 1
Поиск:

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