Un usuario preguntaba por la forma de modificar el texto mostrado en unas celdas con un listado de vínculos a una URLs.
El objetivo es que el hipervícunlo siga dirigiéndonos a la misma URL, pero el texto mostrado quede reducido al nombre de la página concreta...
Insertamos un módulo estándar, y en esta ventana de código añadiremos nuestra macro:
Relevante es la condición que nos permite detectar si la celda tiene un hipervínculo:
If celda.Hyperlinks.Count > 0 Then
y por otra parte la descomposición de la URL aprovechándonos de las barras /
Split(texto, "/")(3)
el tres nos permite recuperar la parte final de la URL...
El resto es simple al recomponer el hipervínculo con los valores tratados.
El objetivo es que el hipervícunlo siga dirigiéndonos a la misma URL, pero el texto mostrado quede reducido al nombre de la página concreta...
Insertamos un módulo estándar, y en esta ventana de código añadiremos nuestra macro:
Sub LimpiarHipervinculos()
'recorremos cada celda del rango seleccionado
For Each celda In Selection
'determinamos que la celda Sí contiene un vínculo
If celda.Hyperlinks.Count > 0 Then
'asignamos el texto del vínculo
texto = celda.Hyperlinks(1).Name
'y lo tratamos para quedarnos con un texto final a mostrar
'con la función Split separamos las partes de la url
'y nos quedamos con la tercera con www.xxxxx.xxx
nuevo = Replace(Split(texto, "/")(3), ".htm", "")
'finalmente construimos el vínculo en la celda
'con el mismo vínculo pero con un texto mostrado nuevo
ActiveSheet.Hyperlinks.Add Anchor:=celda, _
Address:=texto, _
TextToDisplay:=nuevo
End If
Next celda
End SubRelevante es la condición que nos permite detectar si la celda tiene un hipervínculo:
If celda.Hyperlinks.Count > 0 Then
y por otra parte la descomposición de la URL aprovechándonos de las barras /
Split(texto, "/")(3)
el tres nos permite recuperar la parte final de la URL...
El resto es simple al recomponer el hipervínculo con los valores tratados.




No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.