Mezga tiene una serie de celdas que contienen hipervínculos. Estos hipervínculos constan de palabras como «haga clic aquí» o «más información». En otras palabras, cada hipervínculo contiene texto para mostrar que es diferente de la URL subyacente que se activa cuando se hace clic en el enlace. A Mezga le gustaría saber si hay una manera, sin usar una macro, de extraer la URL subyacente para cada uno de estos hipervínculos y colocar esa URL en una celda diferente.

Sin usar macros, puede hacer esto:

  1. Haz clic derecho en un hipervínculo. Verá aparecer un menú contextual.

  2. En el menú contextual, elija Editar hipervínculo. Excel muestra el cuadro de diálogo Editar hipervínculo. (Ver figura 1)

  3. Seleccione y copie (Ctrl + C) la URL completa del campo Dirección del cuadro de diálogo.

  4. Presione Esc para cerrar el cuadro de diálogo Editar hipervínculo.

  5. Pegue la URL en cualquier celda deseada.

Tenga en cuenta que esto es para un único hipervínculo. Si tiene un montón de hipervínculos en una hoja de trabajo y desea recuperar las URL, debe hacer esto para todos y cada uno de los hipervínculos. Obviamente, esto puede volverse tedioso muy rápidamente.

La cura para el tedio, les guste o no, es macro. Con una macro, acceder a la URL subyacente de un hipervínculo es un juego de niños. Todo lo que necesita hacer la macro es prestar atención a la propiedad Dirección del hipervínculo.

El siguiente es un ejemplo de una macro que encontrará cada hipervínculo en una hoja de trabajo, extraerá la URL de cada uno y pegará esa URL en la celda directamente a la derecha del hipervínculo.

Sub ExtractHL()

Dim HL As Hyperlink     For Each HL In ActiveSheet.Hyperlinks         HL.Range.Offset(0, 1).Value = HL.Address     Next End Sub

En lugar de una macro de «fuerza bruta», también puede crear una función definida por el usuario que extraiga y devuelva la URL de cualquier hipervínculo al que se apunte:

Function GetURL(rng As Range) As String     On Error Resume Next     GetURL = rng.Hyperlinks(1).Address End Function

En este caso puedes colocarlo donde quieras. Si desea, por ejemplo, que la URL de un hipervínculo en A1 aparezca en la celda C25, entonces en la celda C25 debe ingresar la siguiente fórmula:

=GetURL(A1)

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (9815) se aplica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 y Excel en Office 365. Puede encontrar una versión de este consejo para la interfaz de menú anterior de Excel aquí:

link: / excel-Extracting_URLs_from_Hyperlinks [Extracción de URL de hipervínculos].