Если я создам гиперссылку в Excel, а затем сделаю копию этого листа, то при щелчке по гиперссылке в новой копии я перейду обратно к ячейке на предыдущем листе, а не к вновь созданному листу.
Как создать гиперссылку, которая всегда будет ссылаться на соответствующую ячейку втекущий активный лист?
решение1
Вставленные гиперссылки являются абсолютными ссылками.
После создания/копирования листа необходимо отредактировать гиперссылку и указать на нужный лист.
Функция Hyperlink() более динамична и может указывать на ячейки, имеющие адрес ссылки. Вы можете создать адрес ссылки как строку на основе текущего имени листа. Поместите такую формулу в B1.
=MID(CELL("filename",a1),FIND("[",CELL("filename",a1)),99)&"!"&CELL("address",A1)
Создайте ссылку с помощью функции Гиперссылка в ячейке, например
=HYPERLINK(B1,"go to top")
При копировании листа формула будет ссылаться на текущий лист, и ссылка останется на текущем листе. Совет: используйте имена листов без пробелов.
Если в именах листов должны быть пробелы, формула будет немного сложнее.
=SUBSTITUTE(MID(CELL("filename",A1),FIND("[",CELL("filename",A1)),99),"]","]'")&"'!"&CELL("address",A1)
Обратите внимание, что эта формула будет работать только в уже сохраненной рабочей книге, а не в новой книге Book1, которая никогда не сохранялась.