viernes, agosto 13, 2010

Ubicar celdas que contienen hipervínculos

Uno de mis lectores, Daniel, me pregunta como ubicar celdas que contienen hipervínculos. Ya hemos visto que Excel nos permite ubicar todo tipo de celdas de acuerdo a sus características usando Ir A-Especial (F5)


Como puede apreciarse, no existe la opción de seleccionar celdas que contengan hipervínculos.
Como ya habrán presentido, podemos hacerlo creando una macro que haga la tarea.
La idea es seleccionar el rango donde pueden encontrarse las celdas con hipervínculos y correr la macro. La macro examina cada una de las celdas del rango y si contiene un hipervínculo la selecciona.

El código es

Sub select_hyperlink()
    Dim rngCell As Range, strCells As String
  
    strCells = ""
  
    For Each rngCell In Selection
        If rngCell.Hyperlinks.Count = 1 Then
            strCells = strCells & rngCell.Address & ","
        End If
    Next rngCell
  
    If Len(strCells) < 2 Then Exit Sub
  
    strCells = Left(strCells, Len(strCells) - 1)
    Range(strCells).Select
  
End Sub


Lo más conveniente es copiar el código en un módulo del Personal.xls (para poder usarlo en todo cuaderno abierto de Excel) y agregarle un atajo de teclado, por ejemplo Ctrl+Mayús+H

5 comentarios:

  1. Hola Jorge!
    Como siempre excelentes tus aportes, gracias

    Saludos

    ResponderBorrar
  2. Hola, excelente el blog, lo sigo mucho.
    Les hago un comentario que no esta relacionado a esta entrada pero me pareció compartirlo.


    Hace unos días que estaba con un inconveniente y por fin lo solucioné.
    Dado un listado que incluye varias fechas necesitaba agrupar por mes. No basta con extraer el mes porque abarca varios años... para que una tabla dinámica los agrupe por mes finalmente mi solución fue:

    en la celda A1 tengo=12/08/10
    en una celda auxiliar puse =VALOR(CONCATENAR("01/";MES(A1);"/";AÑO(A1)))

    y listo! Ago/10

    ¿hay una manera más simple?

    Saludos

    Nicolás

    ResponderBorrar
  3. Nicolás,
    por favor, fijate esta nota.
    Si usas Agrupar y Mostrar Detalla-Agrupar-Meses, todos los datos de cada semas serán totalizados, sin tomar en cuenta el año; si usas Agrupas-Meses-Años, la tabla sumariza por año-mes.

    ResponderBorrar
  4. Saludos Jorge:

    Muy ingeniosa la solución aportada para "Ubicar celdas que contienen hipervínculos"; hay momentos en que se tornan un dolor de cabeza.

    Cuando la versión 2003 de Excel era la reina (2007 la ha ido desplazando), recuerdo que la forma más común de hallar estos hipervinculos era:
    1) Ir al menú "Edición" - "Vínculos"
    2) Una vez desplegada la caja de dialogo, se copiaba la imagen de la caja, usando [Alt]+[PrintScreen]
    3) Se cerraba el "Modificador de vínculos"
    4) Se pegaba en cualquier lugar la imagen anterior (Ctrl+V)
    5) Luego se activaba "Edición" - "Buscar..." [Ctrl]+B y en la opción "Buscar:", se digitaba, letra a letra. toda la cadena de texto localizada frente a la palabra "Ubicación:" de la imagen del punto 4.
    6) y se activaba la busqueda con un [Enter]

    Regularmente eta búsqueda terminaba con la localización de las celdas que contenían hipervinculos reales o "fantasmas", incluso algunos de ellos truncados o dañados, pero que no desaparecían, ya que cada vez que se abria el archivo, aparecía el mensaje relacionado con los "Hipervínculos"

    Saludos,

    Orión

    ResponderBorrar
  5. Orión, que solución tan sencilla y eficiente.

    ResponderBorrar

Nota: sólo los miembros de este blog pueden publicar comentarios.