Гиперссылка на лист Excel

Автор: | 27.09.2017

Пусть есть рабочая книга Excel, содержащая множество листов. На первом листе с именем отладка в колонке 3 мне надо вставить гиперссылки на все листы в книге. Для создания гиперссылки воспользуемся сначала макрорекордером. Для этого поставим курсор в нужную ячейку третьего столбца первого листа книги Excel с именем Отладка.

Выполним команду Вставка – Гиперссылки  -Место в документе и выберем, например, сначала Лист1, а затем Лист2. Получим такие две строки кода.

 

            Range(“C3”).Select

    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=””, SubAddress:= _

        “Лист2!A1″, TextToDisplay:=”Лист2!A1″

 

    Range(“C4”).Select

    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=””, SubAddress:= _

        “Лист3!A1″, TextToDisplay:=”Лист3!A1”

   

  Range(“C5”).Select

ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=””, SubAddress:= _

        “‘Титульный лист’!A1″, TextToDisplay:=”‘Титульный лист’!A1”

             В начале в команде создания гнперссылки идёт информация о листе, на котором формируется ссылка.

Activelist можно заменить на Sheets(“Отладка”) или  даже Sheets(“Отладка”).cells(i,3), где i – номер строки при работе в цикле, а 3 – номер столбца.

Но обычно возникает две проблемы и, соответственно, две ошибки. Что такое Anchor и как быть, если наименование листа, на который строим гиперссылку, состоит из нескольких слов. В последнем случае название листа надо заключить в одиночные кавычки, а ссылку формировать через слияние с “!A1”.

Рассмотрим момент, связанный с якорем, т.е. Anchor. В макрорекордере он формируется как пустой типа Selection, т.к. при вставке ссылки макрорекордеру уже известна выделенная нами ячейка, куда помещается ссылка.

Мы же должны явно прописать якорь, куда помещается ссылка в виде

            Sheets(“Отладка “).Hyperlinks.Add Anchor:=Sheets(“Отладка “).Cells(i, 3), Address:=””, SubAddress:= _

        “‘” + Ssylka + “‘” + “!A1”, TextToDisplay:=Ssylka

 Где  Ssylka = Sheets(k).Name

Если же оставить якорь Selection, то ссылка разместится в первой незащищенной ячейке на выделенном листе, на который мы хотим установить гиперссылку.

What are you working on?