RStPierre Ответов: 1

Как создать динамическую гиперссылку с помощью координат рабочего листа R1C1


У меня есть уникальная потребность в динамической гиперссылке, но не связанной с текстом, который вы можете сопоставить. Я хочу иметь возможность вводить координаты R1C1 в ячейку и гиперссылку на эту ячейку в том же рабочем листе. Я не верю, что это можно сделать со стандартной гиперссылкой, потому что координаты будут меняться, я думаю, что это должно быть создано как макрос и назначено кнопке или какой-то другой форме. при необходимости нам, возможно, придется разделить записи столбцов и строк, например;
вместо BC2006, введенного в ту же ячейку, введите столбец "BC" и строку "2006" в отдельные ячейки

Что я уже пробовал:

Обычные функции гиперссылки. Я также пытался использовать функцию "адрес" в сочетании с гиперссылкой в качестве формулы, но это не сработало. Проблема заключается в том, что мне нужен Excel для просмотра записи как местоположения R1C1, а не текста, и поэтому он позволяет Excel идентифицировать координаты перед выполнением какой-либо формы команды "GoTo".

1 Ответов

Рейтинг:
8

Maciej Los

Если я вас хорошо понимаю...

Попробовать это:

Option Explicit

Sub Test()
    'call AddHyperlink procedure
    AddHyperlink ThisWorkbook.Worksheets(1), "A5", "BC2006", "Go!"

End Sub

Sub AddHyperlink(wsh As Worksheet, insertInto As String, saddress As String, text2display As String)
    'adds hyperlink to a specific cell 
    wsh.Hyperlinks.Add Anchor:=wsh.Range(insertInto), _
        Address:="", _
        SubAddress:=wsh.Name & "!" & wsh.Range(saddress).AddressLocal, _
        ScreenTip:=text2display, _
        TextToDisplay:=wsh.Range(saddress).AddressLocal(ReferenceStyle:=xlR1C1)
End Sub