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

Вход

Регистрация

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

 

= Мир MS Excel/Расстановка гиперссылок на конкретном диапазоне - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Расстановка гиперссылок на конкретном диапазоне (Макросы/Sub)
Расстановка гиперссылок на конкретном диапазоне
dmitrijaltman8 Дата: Четверг, 26.08.2021, 06:25 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 61
Репутация: 0 ±
Замечаний: 20% ±

2016
Доброго времени суток.

У меня есть вопрос к экспертам.
Как макросом установить гиперссылку на определенный диапазон по их тексту (в тексте указан просто адрес файла или папки) ?
Срабатывание - при каждом пересчете таблицы.

Обычно в экселе делают формулу
Код
=ГИПЕРССЫЛКА(D35)

Но мне нужно макросом поставить как-то ссылку на этот адрес в виде текста.
(Я думаю тут файл прилагать не нужно - просто обычный диапазон. Если макрос увидит какой-то текст - то при пересчете листа превратит этот текст в ссылку.)
 
Ответить
СообщениеДоброго времени суток.

У меня есть вопрос к экспертам.
Как макросом установить гиперссылку на определенный диапазон по их тексту (в тексте указан просто адрес файла или папки) ?
Срабатывание - при каждом пересчете таблицы.

Обычно в экселе делают формулу
Код
=ГИПЕРССЫЛКА(D35)

Но мне нужно макросом поставить как-то ссылку на этот адрес в виде текста.
(Я думаю тут файл прилагать не нужно - просто обычный диапазон. Если макрос увидит какой-то текст - то при пересчете листа превратит этот текст в ссылку.)

Автор - dmitrijaltman8
Дата добавления - 26.08.2021 в 06:25
bmv98rus Дата: Четверг, 26.08.2021, 07:53 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4099
Репутация: 766 ±
Замечаний: 0% ±

Excel 2013/2016
[vba]
Код
On Error Resume Next
Set A = Columns(1).SpecialCells(xlCellTypeConstants)
If Err = 0 Then
    Application.EnableEvents = False
    On Error GoTo 0
    For Each Cell In A
        If Cell.Hyperlinks.Count = 0 Then
        adr = Cell
        Cell.ClearContents
        Cell.Hyperlinks.Add Anchor:=Cell, Address:=Cell, SubAddress:= _
                adr, TextToDisplay:=adr
        End If
    Next
    Application.EnableEvents = False
End If
[/vba]


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщение[vba]
Код
On Error Resume Next
Set A = Columns(1).SpecialCells(xlCellTypeConstants)
If Err = 0 Then
    Application.EnableEvents = False
    On Error GoTo 0
    For Each Cell In A
        If Cell.Hyperlinks.Count = 0 Then
        adr = Cell
        Cell.ClearContents
        Cell.Hyperlinks.Add Anchor:=Cell, Address:=Cell, SubAddress:= _
                adr, TextToDisplay:=adr
        End If
    Next
    Application.EnableEvents = False
End If
[/vba]

Автор - bmv98rus
Дата добавления - 26.08.2021 в 07:53
dmitrijaltman8 Дата: Четверг, 26.08.2021, 09:25 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 61
Репутация: 0 ±
Замечаний: 20% ±

2016
bmv98rus, спасибо.
Но почему-то не работает.

Вот я диапазон записал туда свой:
[vba]
Код

Private Sub Worksheet_Calculate()

On Error Resume Next
Set A = Columns(1).SpecialCells(xlCellTypeConstants)
If Err = 0 Then
    Application.EnableEvents = False
    On Error GoTo 0
    For Each Cell In [A48:B87]
        If Cell.Hyperlinks.Count = 0 Then
        adr = Cell
        Cell.ClearContents
        Cell.Hyperlinks.Add Anchor:=Cell, Address:=Cell, SubAddress:= _
                adr, TextToDisplay:=adr
        End If
    Next
    Application.EnableEvents = False
End If

End Sub

[/vba]

Выдает ошибку
Runtime error call
И не расставляет гиперссылки


Сообщение отредактировал dmitrijaltman8 - Четверг, 26.08.2021, 09:27
 
Ответить
Сообщениеbmv98rus, спасибо.
Но почему-то не работает.

Вот я диапазон записал туда свой:
[vba]
Код

Private Sub Worksheet_Calculate()

On Error Resume Next
Set A = Columns(1).SpecialCells(xlCellTypeConstants)
If Err = 0 Then
    Application.EnableEvents = False
    On Error GoTo 0
    For Each Cell In [A48:B87]
        If Cell.Hyperlinks.Count = 0 Then
        adr = Cell
        Cell.ClearContents
        Cell.Hyperlinks.Add Anchor:=Cell, Address:=Cell, SubAddress:= _
                adr, TextToDisplay:=adr
        End If
    Next
    Application.EnableEvents = False
End If

End Sub

[/vba]

Выдает ошибку
Runtime error call
И не расставляет гиперссылки

Автор - dmitrijaltman8
Дата добавления - 26.08.2021 в 09:25
Serge_007 Дата: Четверг, 26.08.2021, 10:01 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2748 ±
Замечаний: ±

Excel 2016
[vba]
Код
Private Sub Worksheet_Calculate()

On Error Resume Next
Set A = [A48:B87].SpecialCells(xlCellTypeConstants)
If Err = 0 Then
    Application.EnableEvents = False
    On Error GoTo 0
    For Each Cell In A
        If Cell.Hyperlinks.Count = 0 Then
        adr = Cell
        Cell.ClearContents
        Cell.Hyperlinks.Add Anchor:=Cell, Address:=Cell, SubAddress:= _
                adr, TextToDisplay:=adr
        End If
    Next
    Application.EnableEvents = True
End If

End Sub
[/vba]


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение[vba]
Код
Private Sub Worksheet_Calculate()

On Error Resume Next
Set A = [A48:B87].SpecialCells(xlCellTypeConstants)
If Err = 0 Then
    Application.EnableEvents = False
    On Error GoTo 0
    For Each Cell In A
        If Cell.Hyperlinks.Count = 0 Then
        adr = Cell
        Cell.ClearContents
        Cell.Hyperlinks.Add Anchor:=Cell, Address:=Cell, SubAddress:= _
                adr, TextToDisplay:=adr
        End If
    Next
    Application.EnableEvents = True
End If

End Sub
[/vba]

Автор - Serge_007
Дата добавления - 26.08.2021 в 10:01
dmitrijaltman8 Дата: Воскресенье, 29.08.2021, 04:19 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 61
Репутация: 0 ±
Замечаний: 20% ±

2016
Serge_007, спасибо.
Тоже не работает

Ссылки макрос расставил, но когда я по ним жму - пишет - "Недопустимая ссылка", хотя все адреса по ссылкам - реально существуют.
 
Ответить
СообщениеSerge_007, спасибо.
Тоже не работает

Ссылки макрос расставил, но когда я по ним жму - пишет - "Недопустимая ссылка", хотя все адреса по ссылкам - реально существуют.

Автор - dmitrijaltman8
Дата добавления - 29.08.2021 в 04:19
dmitrijaltman8 Дата: Понедельник, 30.08.2021, 10:42 | Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 61
Репутация: 0 ±
Замечаний: 20% ±

2016
Подскажите - как расставить гиперссылки, чтобы они не просто были расставлены, а открывались ?

(Чтобы не было окна сообщений "Недопустимая ссылка")
 
Ответить
СообщениеПодскажите - как расставить гиперссылки, чтобы они не просто были расставлены, а открывались ?

(Чтобы не было окна сообщений "Недопустимая ссылка")

Автор - dmitrijaltman8
Дата добавления - 30.08.2021 в 10:42
RAN Дата: Понедельник, 30.08.2021, 11:50 | Сообщение № 7
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Когда
Цитата dmitrijaltman8, 29.08.2021 в 04:19, в сообщении № 5 ()
адреса по ссылкам - реально существуют
гиперссылки работают.
Гадать, что не работает у вас - бесполезная трата времени.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеКогда
Цитата dmitrijaltman8, 29.08.2021 в 04:19, в сообщении № 5 ()
адреса по ссылкам - реально существуют
гиперссылки работают.
Гадать, что не работает у вас - бесполезная трата времени.

Автор - RAN
Дата добавления - 30.08.2021 в 11:50
Serge_007 Дата: Понедельник, 30.08.2021, 14:19 | Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2748 ±
Замечаний: ±

Excel 2016
Цитата dmitrijaltman8, 26.08.2021 в 06:25, в сообщении № 1 ()
Как макросом установить гиперссылку?..
Цитата dmitrijaltman8, 29.08.2021 в 04:19, в сообщении № 5 ()
Serge_007, спасибо.
...не работает

Ссылки макрос расставил...
Макрос расставил ссылки, значит работает


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Цитата dmitrijaltman8, 26.08.2021 в 06:25, в сообщении № 1 ()
Как макросом установить гиперссылку?..
Цитата dmitrijaltman8, 29.08.2021 в 04:19, в сообщении № 5 ()
Serge_007, спасибо.
...не работает

Ссылки макрос расставил...
Макрос расставил ссылки, значит работает

Автор - Serge_007
Дата добавления - 30.08.2021 в 14:19
bmv98rus Дата: Понедельник, 30.08.2021, 18:24 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4099
Репутация: 766 ±
Замечаний: 0% ±

Excel 2013/2016
dmitrijaltman8, это просто закономерный результат этого
Цитата dmitrijaltman8, 26.08.2021 в 06:25, в сообщении № 1 ()
(Я думаю тут файл прилагать не нужно - просто обычный диапазон. Если макрос увидит какой-то текст - то при пересчете листа превратит этот текст в ссылку.)

какй-то текст в ссылку превращен? - да, задача выполнена.


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщениеdmitrijaltman8, это просто закономерный результат этого
Цитата dmitrijaltman8, 26.08.2021 в 06:25, в сообщении № 1 ()
(Я думаю тут файл прилагать не нужно - просто обычный диапазон. Если макрос увидит какой-то текст - то при пересчете листа превратит этот текст в ссылку.)

какй-то текст в ссылку превращен? - да, задача выполнена.

Автор - bmv98rus
Дата добавления - 30.08.2021 в 18:24
dmitrijaltman8 Дата: Вторник, 31.08.2021, 00:08 | Сообщение № 10
Группа: Пользователи
Ранг: Участник
Сообщений: 61
Репутация: 0 ±
Замечаний: 20% ±

2016
Цитата dmitrijaltman8, 30.08.2021 в 10:42, в сообщении № 6 ()
Подскажите - как расставить гиперссылки, чтобы они не просто были расставлены, а открывались ?

(Чтобы не было окна сообщений "Недопустимая ссылка")
 
Ответить
Сообщение
Цитата dmitrijaltman8, 30.08.2021 в 10:42, в сообщении № 6 ()
Подскажите - как расставить гиперссылки, чтобы они не просто были расставлены, а открывались ?

(Чтобы не было окна сообщений "Недопустимая ссылка")

Автор - dmitrijaltman8
Дата добавления - 31.08.2021 в 00:08
RAN Дата: Вторник, 31.08.2021, 00:17 | Сообщение № 11
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Мне до кончика хвоста любопытно, когда же вы наконец поймете, что не видя, что не работает, никто не ответит, почему не работает?
И что количество повторов вашего вопроса на итог не влияет?
Когда
Цитата dmitrijaltman8, 29.08.2021 в 04:19, в сообщении № 5 ( писал(а)):
адреса по ссылкам - реально существуют
гиперссылки работают.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеМне до кончика хвоста любопытно, когда же вы наконец поймете, что не видя, что не работает, никто не ответит, почему не работает?
И что количество повторов вашего вопроса на итог не влияет?
Когда
Цитата dmitrijaltman8, 29.08.2021 в 04:19, в сообщении № 5 ( писал(а)):
адреса по ссылкам - реально существуют
гиперссылки работают.

Автор - RAN
Дата добавления - 31.08.2021 в 00:17
dmitrijaltman8 Дата: Вторник, 31.08.2021, 00:50 | Сообщение № 12
Группа: Пользователи
Ранг: Участник
Сообщений: 61
Репутация: 0 ±
Замечаний: 20% ±

2016
что не видя, что не работает, никто не ответит, почему не работает?

Вот щелкаю по созданной макросом ссылке.
Вылетает вот такое окно (показано на скриншоте):

Ссылка создана макросом:
[vba]
Код
Private Sub Worksheet_Calculate()

On Error Resume Next
Set A = [A48:B87].SpecialCells(xlCellTypeConstants)
If Err = 0 Then
    Application.EnableEvents = False
    On Error GoTo 0
    For Each Cell In A
        If Cell.Hyperlinks.Count = 0 Then
        adr = Cell
        Cell.ClearContents
        Cell.Hyperlinks.Add Anchor:=Cell, Address:=Cell, SubAddress:= _
                adr, TextToDisplay:=adr
        End If
    Next
    Application.EnableEvents = True
End If

End Sub
[/vba]
В коде я - ничего не менял.
Что еще нужно показать ?
К сообщению приложен файл: 0348801.jpg (6.9 Kb)


Сообщение отредактировал dmitrijaltman8 - Вторник, 31.08.2021, 00:54
 
Ответить
Сообщение
что не видя, что не работает, никто не ответит, почему не работает?

Вот щелкаю по созданной макросом ссылке.
Вылетает вот такое окно (показано на скриншоте):

Ссылка создана макросом:
[vba]
Код
Private Sub Worksheet_Calculate()

On Error Resume Next
Set A = [A48:B87].SpecialCells(xlCellTypeConstants)
If Err = 0 Then
    Application.EnableEvents = False
    On Error GoTo 0
    For Each Cell In A
        If Cell.Hyperlinks.Count = 0 Then
        adr = Cell
        Cell.ClearContents
        Cell.Hyperlinks.Add Anchor:=Cell, Address:=Cell, SubAddress:= _
                adr, TextToDisplay:=adr
        End If
    Next
    Application.EnableEvents = True
End If

End Sub
[/vba]
В коде я - ничего не менял.
Что еще нужно показать ?

Автор - dmitrijaltman8
Дата добавления - 31.08.2021 в 00:50
bmv98rus Дата: Вторник, 31.08.2021, 07:40 | Сообщение № 13
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4099
Репутация: 766 ±
Замечаний: 0% ±

Excel 2013/2016
Цитата dmitrijaltman8, 31.08.2021 в 00:50, в сообщении № 12 ()
Что еще нужно показать ?
У меня ошибка не возникает. Все открывается. На второй странице этой темы , скорее всего дойдет на что уже несколько раз намекали.
Цитата dmitrijaltman8, 26.08.2021 в 06:25, в сообщении № 1 ()
Я думаю тут файл прилагать не нужно - просто обычный диапазон. Если макрос увидит какой-то текст
Какой-то текст превращается в какую-то ссылку.


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщение
Цитата dmitrijaltman8, 31.08.2021 в 00:50, в сообщении № 12 ()
Что еще нужно показать ?
У меня ошибка не возникает. Все открывается. На второй странице этой темы , скорее всего дойдет на что уже несколько раз намекали.
Цитата dmitrijaltman8, 26.08.2021 в 06:25, в сообщении № 1 ()
Я думаю тут файл прилагать не нужно - просто обычный диапазон. Если макрос увидит какой-то текст
Какой-то текст превращается в какую-то ссылку.

Автор - bmv98rus
Дата добавления - 31.08.2021 в 07:40
dmitrijaltman8 Дата: Вторник, 31.08.2021, 08:23 | Сообщение № 14
Группа: Пользователи
Ранг: Участник
Сообщений: 61
Репутация: 0 ±
Замечаний: 20% ±

2016
bmv98rus, у меня гиперссылка сделанная макросом не открывается.
Сделанная формулой - открывается.
 
Ответить
Сообщениеbmv98rus, у меня гиперссылка сделанная макросом не открывается.
Сделанная формулой - открывается.

Автор - dmitrijaltman8
Дата добавления - 31.08.2021 в 08:23
Serge_007 Дата: Вторник, 31.08.2021, 09:09 | Сообщение № 15
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2748 ±
Замечаний: ±

Excel 2016
Цитата dmitrijaltman8, 31.08.2021 в 08:23, в сообщении № 14 ()
у меня гиперссылка сделанная макросом не открывается
Ну, в таком случае ждите телепатов, которые ментально проникнут в Ваш файл, найдут в нем неоткрывающуюся ссылку и исправят её


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Цитата dmitrijaltman8, 31.08.2021 в 08:23, в сообщении № 14 ()
у меня гиперссылка сделанная макросом не открывается
Ну, в таком случае ждите телепатов, которые ментально проникнут в Ваш файл, найдут в нем неоткрывающуюся ссылку и исправят её

Автор - Serge_007
Дата добавления - 31.08.2021 в 09:09
bmv98rus Дата: Вторник, 31.08.2021, 09:58 | Сообщение № 16
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4099
Репутация: 766 ±
Замечаний: 0% ±

Excel 2013/2016
dmitrijaltman8, вы реально не понимаете или прикалываетесь над нами?
ПРИЛОЖИТЕ СЮДА ФАЙЛ


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщениеdmitrijaltman8, вы реально не понимаете или прикалываетесь над нами?
ПРИЛОЖИТЕ СЮДА ФАЙЛ

Автор - bmv98rus
Дата добавления - 31.08.2021 в 09:58
Nic70y Дата: Вторник, 31.08.2021, 10:04 | Сообщение № 17
Группа: Друзья
Ранг: Экселист
Сообщений: 8710
Репутация: 2261 ±
Замечаний: 0% ±

Excel 2010
[offtop] bmv98rus, как dmitrijaltman8 приложит файл на Ваш текст?[/offtop] :D


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Вторник, 31.08.2021, 10:04
 
Ответить
Сообщение[offtop] bmv98rus, как dmitrijaltman8 приложит файл на Ваш текст?[/offtop] :D

Автор - Nic70y
Дата добавления - 31.08.2021 в 10:04
dmitrijaltman8 Дата: Вторник, 31.08.2021, 10:12 | Сообщение № 18
Группа: Пользователи
Ранг: Участник
Сообщений: 61
Репутация: 0 ±
Замечаний: 20% ±

2016
Serge_007, понятно. Тогда - вот файл:
К сообщению приложен файл: 4805017.xlsb (15.3 Kb)
 
Ответить
СообщениеSerge_007, понятно. Тогда - вот файл:

Автор - dmitrijaltman8
Дата добавления - 31.08.2021 в 10:12
RAN Дата: Вторник, 31.08.2021, 10:32 | Сообщение № 19
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Ведмедь перемудрил.
Уберите строку
[vba]
Код
Cell.ClearContents
[/vba]
или вообще все это
[vba]
Код
adr = Cell
        Cell.ClearContents
        Cell.Hyperlinks.Add Anchor:=Cell, Address:=Cell, SubAddress:= _
                adr, TextToDisplay:=adr
[/vba]
заменить на
[vba]
Код
Cell.Hyperlinks.Add Anchor:=Cell, Address:=Cell.Value, TextToDisplay:=Cell.Value
[/vba]


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Вторник, 31.08.2021, 10:36
 
Ответить
СообщениеВедмедь перемудрил.
Уберите строку
[vba]
Код
Cell.ClearContents
[/vba]
или вообще все это
[vba]
Код
adr = Cell
        Cell.ClearContents
        Cell.Hyperlinks.Add Anchor:=Cell, Address:=Cell, SubAddress:= _
                adr, TextToDisplay:=adr
[/vba]
заменить на
[vba]
Код
Cell.Hyperlinks.Add Anchor:=Cell, Address:=Cell.Value, TextToDisplay:=Cell.Value
[/vba]

Автор - RAN
Дата добавления - 31.08.2021 в 10:32
dmitrijaltman8 Дата: Вторник, 31.08.2021, 10:35 | Сообщение № 20
Группа: Пользователи
Ранг: Участник
Сообщений: 61
Репутация: 0 ±
Замечаний: 20% ±

2016
RAN, убрал.
Но все равно после пересчета листа - пишет - "недопустимая ссылка"
 
Ответить
СообщениеRAN, убрал.
Но все равно после пересчета листа - пишет - "недопустимая ссылка"

Автор - dmitrijaltman8
Дата добавления - 31.08.2021 в 10:35
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Расстановка гиперссылок на конкретном диапазоне (Макросы/Sub)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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