Создание динамической гиперссылки

Марк интересуется, как создать гиперссылку на лист в той же книге. Имя рабочего листа изменится, поэтому он считает, что ссылка должна быть «динамической». Он также хотел бы, чтобы “понятное имя” гиперссылки изменилось на имя рабочего листа.

Есть несколько способов решения этой проблемы. Первый – создать простую гиперссылку на пункт назначения с помощью функции ГИПЕРССЫЛКА. Синтаксис функции следующий:

= HYPERLINK (link_location, [friendly_name])

Обратите внимание, что второй параметр (понятное имя) является необязательным, но должен использоваться в сценарии Марка. Если вы хотите установить ссылку на другой лист, все, что вам нужно сделать, это указать адрес ячейки на этом листе следующим образом:

= HYPERLINK («[myWorkBook.xlsx] MySheet! A1 «,» Перейти туда «)

Предоставляет гиперссылку на ячейку A1 на листе с именем” MySheet “. Это отлично работает при условии, что имя “MySheet” не изменится. Если имя изменено или указанная ячейка удалена, гиперссылка больше не работает.

Существует простой способ обойти эту потенциальную проблему, но он создает новую потенциальную проблему. Вы можете создать именованный диапазон на рабочем листе назначения, а затем использовать именованный диапазон в функции ГИПЕРССЫЛКА следующим образом:

= ГИПЕРССЫЛКА («# MyRange», «Перейти туда»)

Обратите внимание, что перед именем диапазона должен стоять знак # и заключаться в кавычки. Щелчок по ссылке отображает любой рабочий лист, содержащий именованный диапазон, и выбирает этот диапазон. Он более универсален, чем предыдущий, поскольку не имеет значения, переименовываете ли вы лист, содержащий именованный диапазон. Однако имеет значение, если именованный диапазон будет удален. (Если удаляется только часть именованного диапазона, Excel настраивается нормально. Он блокирует только в случае удаления всего именованного диапазона.)

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

= MySheet! A1

В ячейке будет отображаться все, что находится в ячейке A1 на MySheet. Если позже вы измените имя MySheet (фактическое имя листа), формула изменится автоматически. Если вы вставите или удалите строки или столбцы в MySheet, ссылка на ячейку A1 в формуле не изменится. Это позволяет всегда иметь действующий рабочий лист и ссылку на ячейку. Чтобы получить эту ссылку в форме, которую можно использовать в функции ГИПЕРССЫЛКА, поместите следующую формулу в ячейку B24:

= MID (FORMULATEXT (A24), 2,99)

Функция FORMULATEXT преобразует формулу в ячейке A24 в текстовую строку, а добавление функции MID снимает знак равенства с начала формулы. Формула, как показано, позволяет использовать очень длинные имена рабочих листов, до 96 символов (остальные три символа – “! A1”).. Затем вы можете использовать следующую формулу для создания фактической гиперссылки:

= HYPERLINK («[myWorkBook.xlsx]» & B24, «Перейти туда»)

Целевая гиперссылка всегда динамична и стабильна, что и нужно. Однако следует отметить, что функция FORMULATEXT была введена в Excel 2013; это не будет работать в более ранних версиях программы.

Я не уделял много времени обсуждению части дружественного имени функции HYPERLINK. Это потому, что вы можете легко изменить его, чтобы он ссылался практически на все, что захотите. Например, вы можете указать ссылку на другую ячейку, которая, в свою очередь, отображает значение, основанное на любой желаемой вами формуле:

= HYPERLINK («# MyRange», A7)

Этот пример извлекает понятное имя из ячейки A7. Измените содержимое ячейки A7, и одновременно обновится понятное имя.

Источник: frestage.ru

Бытовой вопрос