Función personalizada (UDF) para obtener la dirección de un hipervínculo en una celda en Excel
Con el cambio de Blog, al tratar de pasar mis sitios recomendados al nuevo Blog, tuve que copiar los links de una página Web y pegarlos en Excel.
A qué viene esto ?
Viene que tuve la necesidad de obtener las direcciones de links en una celda y el texto del link en otra.
Al pegar links de una página Web a Excel, se pega el texto junto con el hipervínculo, es decir, que en la celda donde esté el link le podremos dar click y nos dirigirá hacia la página Web u objeto que tenga de destino.
Obtener la dirección de los links
Al tener los links en Excel, si deseamos extraerlos a otra celda, podemos dar click derecho en la celda y elegir Modificar hipervínculo… y en el formulario que nos arroja tomar la dirección del apartado especificado como Dirección.
O podemos crear nuestra propia función personalizada (UDF) para extraer todos los hipervínculos en otras celdas y con formato de texto.
Recordemos que las funciones personalizadas deben estar contenidas en un módulo normal en el IDE de Visual Basic para Aplicaciones. Nuestra función tendrá el nombre de ObtenerHipervinculo.
Código de la UDF
Function ObtenerHypervinculo(Celda As Range) 'Con la propiedad Volatile forzamos a Excel a actualizar el</span> 'resultado de la función cada que haya un cambio en el libro.</span> Application.Volatile 'Asignamos la propiedad Address de la celda con el hipervínculo. ObtenerHypervinculo = Celda.Hyperlinks.Item(1).Address End Function
El uso será como cualquier otra función de Excel. En una celda ingresamos
=ObtenerHipervinculo(Celda) y nos arrojará el texto del hipervínculo.