1

У меня есть следующая информация в Excel:

 Part Number           Part Name
199-102-002-B    Miniature Angle Mount Riser Block
199-102-092-C    Pinned Beamsplitter Mount
199-102-011-C    Camera Sleeve
199-102-032-D    1mm Aperture
199-102-081-D    VIS Attachment Plate

Номера деталей можно использовать для поиска местоположения файла детали, и я создал функцию (MyPath()), которая возвращает путь к папке детали, когда ей присвоен номер детали. Я хотел бы позволить пользователю просто щелкнуть текст во втором столбце и открыть папку для детали.

Используя формулу ниже, я могу заставить ссылку работать должным образом, но текст - это просто номер детали, а не имя детали:

=HYPERLINK(MyPath(A2),A2)

Используя эту формулу, имя детали отображается правильно, и когда я наводю курсор мыши на ячейку, мой курсор превращается в руку, как будто там есть гиперссылка, но нажатие на нее ничего не делает.

=HYPERLINK(MyPath(A2),VLOOKUP(A2,PartsArray,2,FALSE))

Вот другие варианты, которые я протестировал, которые работали:

=HYPERLINK("C:\The\Path\To\The\Part\Folder","Miniature Angle Mount Riser Block")
=HYPERLINK(MyPath(A2),"Miniature Angle Mount Riser Block")
=HYPERLINK("C:\The\Path\To\The\Part\Folder",VLOOKUP(A2,PartsArray,2,FALSE))
=HYPERLINK(MyPath(A2),C2) <--- Where "C2" contains the VLOOKUP function

Только когда я одновременно использую свою пользовательскую функцию и функцию VLOOKUP() , гиперссылка перестает работать.

На данный момент самое близкое, что я нашел к решению, - это то, что я сделал в последнем варианте, показанном выше (т.е. переместил часть формулы VLOOKUP в другой столбец и затем скрыл этот столбец). Но этому должно быть какое-то объяснение. Может кто-нибудь объяснить мне, что происходит?

Редактировать:

VLOOKUP ссылается на массив на отдельном листе, который включает все части, которые будут использоваться. Цель этого листа - дать возможность кому-либо в зоне сборки ввести номер детали и указать имя детали в соседней ячейке. Я полагаю, что я мог бы воссоздать функцию VLOOKUP с помощью функции MATCH (в сочетании с несколькими другими), но я бы лучше определил реальную проблему и исправил ее, чем слепо искать решения, которые, скорее всего, ничего не исправят.

1 ответ1

0

Очевидно, что функция HYPERLINK действительно не любит ссылки на внешние рабочие книги, которые также не открыты (см. Этот пост для другого примера, когда функция ломается). Поэтому лучшее решение, которое я могу найти, - это перенести ссылки на внешние рабочие книги в другую ячейку рабочей книги. Единственный другой вариант, о котором я знаю, - это создание макроса, который создает гиперссылку на нужную ячейку. Но это не очень удобно, если вы хотите, чтобы на листе было много гиперссылок, или если вы заранее не знаете, где будет текст, который должен быть связан с гиперссылкой.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .