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
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 Public
funció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.