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

Вход

Регистрация

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

 

= Мир MS Excel/Выбор значения из выпадающего списка сгиперссылкой через м-с - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Выбор значения из выпадающего списка сгиперссылкой через м-с
Выбор значения из выпадающего списка сгиперссылкой через м-с
Mrzod Дата: Четверг, 03.10.2019, 14:25 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 18
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Здравствуйте. Помогите пожалуйста исправить макрос чтоб он заработал. Необходимо при выборе значения из выпадающего списка чтоб создавалась гиперссылка к этому же наименованию в листе 3. В документе набросал макрос, скажите в чем ошибки. Так же прошу подсказать, как прописать в макросе к каждому значению в выпадающем списке свою гиперссылку на лист 3. Спасибо огромное .
К сообщению приложен файл: 2_5235905767680.xlsm (19.1 Kb)
 
Ответить
СообщениеЗдравствуйте. Помогите пожалуйста исправить макрос чтоб он заработал. Необходимо при выборе значения из выпадающего списка чтоб создавалась гиперссылка к этому же наименованию в листе 3. В документе набросал макрос, скажите в чем ошибки. Так же прошу подсказать, как прописать в макросе к каждому значению в выпадающем списке свою гиперссылку на лист 3. Спасибо огромное .

Автор - Mrzod
Дата добавления - 03.10.2019 в 14:25
Nic70y Дата: Четверг, 03.10.2019, 16:35 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 8712
Репутация: 2262 ±
Замечаний: 0% ±

Excel 2010
скажите в чем ошибки
не в тот модуль макрос засунули,
ну и т.д.
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("i2:i65536")) Is Nothing Then
        Application.EnableEvents = False
        u_01 = Target.Value
        'u_02 = "Лист2"
        u_02 = "Лист3"
        'u_03 = Application.Match(u_01, Sheets(u_02).Range("a:a"), 0)
        'u_04 = "#" & u_02 & "!A" & u_03
        u_17 = Target.Row - 1
        u_04 = "#" & u_02 & "!A" & u_17
        '''u_05 = Application.IsNumber(u_03)
        '''If u_05 Then
            Range(Target.Address).Hyperlinks.Add Anchor:=Selection, Address:=u_04
        '''End If
        Application.EnableEvents = True
    End If
End Sub
[/vba]
К сообщению приложен файл: 0844092.xlsm (22.1 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщение
скажите в чем ошибки
не в тот модуль макрос засунули,
ну и т.д.
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("i2:i65536")) Is Nothing Then
        Application.EnableEvents = False
        u_01 = Target.Value
        'u_02 = "Лист2"
        u_02 = "Лист3"
        'u_03 = Application.Match(u_01, Sheets(u_02).Range("a:a"), 0)
        'u_04 = "#" & u_02 & "!A" & u_03
        u_17 = Target.Row - 1
        u_04 = "#" & u_02 & "!A" & u_17
        '''u_05 = Application.IsNumber(u_03)
        '''If u_05 Then
            Range(Target.Address).Hyperlinks.Add Anchor:=Selection, Address:=u_04
        '''End If
        Application.EnableEvents = True
    End If
End Sub
[/vba]

Автор - Nic70y
Дата добавления - 03.10.2019 в 16:35
nilem Дата: Четверг, 03.10.2019, 16:42 | Сообщение № 3
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
немного по-другому
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Column <> 9 Then Exit Sub

Dim r As Range
Set r = Sheets("Лист3").Columns(1).Find(Target.Value, LookIn:=xlValues, lookat:=xlWhole)
If r Is Nothing Then Exit Sub

Me.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:=r.Address(, , xlA1, True), _
                  ScreenTip:="qweqwewwd", TextToDisplay:=Target.Value
End Sub
[/vba]
В модуль листа Лист1.


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениенемного по-другому
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Column <> 9 Then Exit Sub

Dim r As Range
Set r = Sheets("Лист3").Columns(1).Find(Target.Value, LookIn:=xlValues, lookat:=xlWhole)
If r Is Nothing Then Exit Sub

Me.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:=r.Address(, , xlA1, True), _
                  ScreenTip:="qweqwewwd", TextToDisplay:=Target.Value
End Sub
[/vba]
В модуль листа Лист1.

Автор - nilem
Дата добавления - 03.10.2019 в 16:42
Mrzod Дата: Четверг, 03.10.2019, 17:18 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 18
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
скажите в чем ошибки
не в тот модуль макрос засунули,
ну и т.д.


Спасибо большое за помощь.
А можно исправить немного ваш макрос, чтоб при нажатии enter он создавал гиперрсылку в этой же ячейке а не следующей ?
 
Ответить
Сообщение
скажите в чем ошибки
не в тот модуль макрос засунули,
ну и т.д.


Спасибо большое за помощь.
А можно исправить немного ваш макрос, чтоб при нажатии enter он создавал гиперрсылку в этой же ячейке а не следующей ?

Автор - Mrzod
Дата добавления - 03.10.2019 в 17:18
Mrzod Дата: Четверг, 03.10.2019, 18:33 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 18
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
немного по-другому

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

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

Автор - Mrzod
Дата добавления - 03.10.2019 в 18:33
nilem Дата: Четверг, 03.10.2019, 18:39 | Сообщение № 6
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
вместо Selection напишите Target
[vba]
Код
Me.Hyperlinks.Add Anchor:=Selection...
[/vba]
нужно так
[vba]
Код
Me.Hyperlinks.Add Anchor:=Target ...
[/vba]


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениевместо Selection напишите Target
[vba]
Код
Me.Hyperlinks.Add Anchor:=Selection...
[/vba]
нужно так
[vba]
Код
Me.Hyperlinks.Add Anchor:=Target ...
[/vba]

Автор - nilem
Дата добавления - 03.10.2019 в 18:39
Mrzod Дата: Пятница, 04.10.2019, 11:02 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 18
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
нужно так
Me.Hyperlinks.Add Anchor:=Target ...

Спасибо вам большое. Все прекрасно работает. А можно сделать так, чтобы если значение на листе 3 отсутствует, чтоб макрос его не подчеркивал и не выделял.
Еще если не сложно, то у меня там есть еще один макрос для листа 1, можно ли их заставить работать вместе?
Спасибо.
К сообщению приложен файл: 0844092-2-.xlsm (21.9 Kb)


Сообщение отредактировал Mrzod - Пятница, 04.10.2019, 11:02
 
Ответить
Сообщение
нужно так
Me.Hyperlinks.Add Anchor:=Target ...

Спасибо вам большое. Все прекрасно работает. А можно сделать так, чтобы если значение на листе 3 отсутствует, чтоб макрос его не подчеркивал и не выделял.
Еще если не сложно, то у меня там есть еще один макрос для листа 1, можно ли их заставить работать вместе?
Спасибо.

Автор - Mrzod
Дата добавления - 04.10.2019 в 11:02
nilem Дата: Пятница, 04.10.2019, 22:08 | Сообщение № 8
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
попробуйте:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
Select Case Target.Column
    Case 8
        Dim r As Range
        Set r = Sheets("Лист 3").Columns(1).Find(Target.Value, LookIn:=xlValues, lookat:=xlWhole)
        If r Is Nothing Then Target.Hyperlinks.Delete: Exit Sub
        Me.Hyperlinks.Add Anchor:=Target, Address:="", SubAddress:=r.Address(, , xlA1, True), _
                          ScreenTip:="Особый контроль"
    Case 10
        Target(1, -5).Value = Date
End Select

End Sub
[/vba]


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениепопробуйте:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
Select Case Target.Column
    Case 8
        Dim r As Range
        Set r = Sheets("Лист 3").Columns(1).Find(Target.Value, LookIn:=xlValues, lookat:=xlWhole)
        If r Is Nothing Then Target.Hyperlinks.Delete: Exit Sub
        Me.Hyperlinks.Add Anchor:=Target, Address:="", SubAddress:=r.Address(, , xlA1, True), _
                          ScreenTip:="Особый контроль"
    Case 10
        Target(1, -5).Value = Date
End Select

End Sub
[/vba]

Автор - nilem
Дата добавления - 04.10.2019 в 22:08
Mrzod Дата: Понедельник, 07.10.2019, 12:10 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 18
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
попробуйте:

Спасибо огромное! Теперь все работает как нужно. hands
 
Ответить
Сообщение
попробуйте:

Спасибо огромное! Теперь все работает как нужно. hands

Автор - Mrzod
Дата добавления - 07.10.2019 в 12:10
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Выбор значения из выпадающего списка сгиперссылкой через м-с
  • Страница 1 из 1
  • 1
Поиск:

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