Extraer el destino de hyperlink de una celda en un libro de trabajo diferente

Tengo un libro de trabajo con una function de clic derecho personalizada que extrae los valores de celda de otro libro según lo que el usuario elija. Funciona muy bien, solo tomo el valor de la celda del otro libro de trabajo. Algunas células contienen hyperlinks y me gustaría importar el hyperlink funcional, no el valor de lo que se muestra en la celda. Por ejemplo, la siguiente image contiene un hyperlink en la celda (Y216) de la hoja BOS del libro de input:

enter image description here

Esta es una image de la celda que quiero copyr. De hecho, es un hyperlink.

?application.Workbooks(2).Sheets("BOS").Range("Y216").value 

devuelve MKB 70-203 Wicket Shear Pin Detection System, que de hecho es correcto.

¿Pero cómo tomo el destino del hyperlink? Intenté varias cosas, incluido

 ?application.Workbooks(2).Sheets("BOS").Range("Y216").Hyperlinks.count 

devuelve 0 aunque puede ver en la image que el hyperlink tiene una dirección. De la misma manera, el siguiente subnivel no ingresa a For Each porque count 0 hyperlinks.

 Sub HLtester() Dim HL As Hyperlink For Each HL In Application.Workbooks(2).Sheets("BOS").Range("Y216").Hyperlinks Debug.Print HL.Address Next End Sub 

El resultado esperado sería el objective del enlace J:\SOUM\3191.... como se muestra en la image.

EDITAR

Si es importante, la fórmula de la célula es

 =LIEN_HYPERTEXTE("J:\SOUM\3191 M - Old Hickory Dam\11_BOS_FT\02_FT_MECT\21-200 Headcover";"21-200 Headcover") 

Esa es la function =HYPERLINK de French Excel, por cierto. Supongo que en último recurso, ¿puedo tomar la fórmula y cortar las partes de la function para recuperar la parte del enlace?

Tu command funciona para mí, no sé por qué configuras el range si deseas recorrer todos los hyperlinks en la hoja, ni por qué lo configuraste como aplicación. libros de trabajo, de todos modos, esto funcionó bien para mí:

 Sub HLtester() Dim HL As Hyperlink For Each HL In Sheets("Sheet1").UsedRange.Hyperlinks Debug.Print HL.Address Next End Sub 

enter image description here

Puede getlo también dentro de los methods de range con los siguientes

 ActiveCell.Hyperlinks(1).Address 

Puede get más información aquí

Editar:
Probablemente el recuento es incorrecto debido al "application.workbook", trate de declararlo como una variable en lugar de usarlo en todo el código

 Sub HLtester() Dim HL As Hyperlink Dim WBAnalyzed As Workbook: Set WBAnalyzed = Workbooks("MyWB.xlsm") For Each HL In WBAnalyzed.Sheets("Sheet1").UsedRange.Hyperlinks Debug.Print HL.Address Next End Sub 

Editar 2:
Este es el enfoque sugerido cuando el hyperlink está dado por su fórmula

 Sub test() On Error Resume Next 'means no formula x = Evaluate(Range("A1").Formula) x1 = Sheets("Sheet1").UsedRange.Hyperlinks.Count Debug.Print x Debug.Print x1 End Sub 

PD: guardé mi statement de variables -sólo porque-, pero siempre debes tener un control limpio para ellas y usar la opción explícita al comienzo del module.

enter image description here