Вставка гиперссылок на листы в Excel макрос

Вставка гиперссылок на листы в Excel макрос

Добрый день уважаемые читатели блога! После небольшого перерыва возобновляю работу по Excel. Вопросов накопилось довольно много - буду отвечать на них по очереди. 

Сегодня речь пойдёт о гиперссылках в Excel, точнее об их автоматической вставке на лист. Представим ситуацию, когда в нашей книге листов огромное количество, бухгалтерские расчёты, к примеру. 

Вставка гиперссылок на листы в Excel макрос

 

Вставить вручную гиперссылки можно, пусть для этого и понадобится чуть больше времени. Обычно мы вставляем гиперссылки через вкладку "Вставка" и кнопку "Гиперссылка", а затем переходим на пункт "Место в документе".

Вставка гиперссылок на листы в Excel макрос

 

Видите, уже сложнее. Проделать такую операцию с точки зрения лени времени будет слишком затратно.  Поэтому напишем небольшой макрос. 

Вставим в наш документ новый модуль:

  1. Вкладка "Разработчик", блок кнопок "Код", кнопка "Visual Basic";
  2. Далее "Insert" - > "Module".

Вставка гиперссылок на листы в Excel макрос

 

Поместим в поле кода следующий текст:

 

Sub SheetNamesAsHyperLinks()
Dim sheet As Worksheet
Dim cell As Range
With ActiveWorkbook
' Для каждого листа (имени) создадим свою ссылку
For Each sheet In ActiveWorkbook.Worksheets
Set cell = Worksheets(1).Cells(sheet.Index, 1)
.Worksheets(1).Hyperlinks.Add Anchor:=cell, Address:="", _
SubAddress:=" " & sheet.Name & "!A1"
cell.Formula = sheet.Name
Next
End With
End Sub

 

Немного подробностей:

  • у нас есть две переменные "sheet" и "cell", лист и ячейка;
  • "With activeWorkbook" - показывает, что макрос будет оперировать пространством всей книги;
  • "For Each sheet In ActiveWorkbook.Worksheets
    Set cell = Worksheets(1).Cells(sheet.Index, 1)
    .Worksheets(1).Hyperlinks.Add Anchor:=cell, Address:="", _
    SubAddress:=" " & sheet.Name & "!A1" " " - для каждого листа в рабочей книге мы будем использовать первую ячейку (А1);
  • "cell.Formula = sheet.Name" - формула для макроса будет помещение в ячейку A1 названия первого листа книги, далее в A2 второго и т.д.

 

Таким образом, мы экономим себе время на переходах, так как не отвлекаемся на нижнюю часть экрана с именами листов, а имеем список листов в виде гиперссылок. Понаблюдаем за результатами работы. Нажимаем сочетание клавиш ALT+F8 или переходим на вкладку "Разработчик", нажимаем кнопку "Макросы", у нас единственная строка "SheetNamesAsHyperLinks", нажимаем "Выполнить".

Вставка гиперссылок на листы в Excel макрос

 

На листе "Оглавление" появится список всех существующих листов в нашей рабочей книге.

 

Вставка гиперссылок на листы в Excel макрос

 

Теперь мы можем просто щёлкать ячейку с именем листа для перехода. 

Если что-то было непонятно, посмотрите наше видео!

Вас может заинтересовать урок - Поменять строки местами.

Post Author: Иван

Добавить комментарий