Excel 2016. ¿Cómo convierto una celda de hipervínculo en texto?

Excel 2016. ¿Cómo convierto una celda de hipervínculo en texto?

Tengo una columna de texto que son todos hipervínculos. Quiero copiar el texto y la URL en campos separados.

Por ejemplo, la celda (A1) tiene "Apple" (hipervínculo ahttp://www.apple.com)

Quiero poner los valores en D y E.

D1 contendría "Apple"

E1 contendría la URLhttp://www.apple.com

Function GetURL(HyperlinkCell As Range)
    GetURL = Replace(HyperlinkCell.Hyperlinks(1).Address, "file:", "")
End Function

Probé esto en ThisWorkbook (VBA) y obtuve los resultados como#¿NOMBRE?en mi hoja de cálculo

Respuesta1

Necesitas colocar tu función en unmódulo estándar:

ingrese la descripción de la imagen aquí

y luego funcionará:

ingrese la descripción de la imagen aquí

Respuesta2

Tienes que colocar tu código en un módulo normal:

  • Haga clic derecho en su proyecto en VBE
  • Insertar: Módulo
  • (Opcionalmente) dale a tu módulo un nombre más sensato

Corta/pega tu código allí. ¡Entonces debería funcionar bien!

Para dejar sus intenciones un poco más claras, puede extender el encabezado de su función declarándola explícitamente como una Publicfunción (sin decir que no cambiará nada, pero algunas personas asumen que lo es implícitamente Private) y estableciendo el tipo de retorno en String:

Public Function GetURL(HyperlinkCell As Range) as String

Como la propiedad Hipervínculo solo contiene cadenas, no hay nada de malo en hacerla explícita en su UDF.

información relacionada