VBA Hipervínculos

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Dennis Madrid

Last updated on marzo 3, 2022

Este tutorial de VBA cubre las diferentes formas de trabajar con hipervínculos en VBA.

Hipervínculos en VBA

Con VBA, usted puede agregar hipervínculos, eliminar hipervínculos, crear correos electrónicos usando hipervínculos y abrir archivos usando hipervínculos.

Añadir un hipervínculo con VBA

El método Hyperlinks.Add añade un hipervínculo a una celda utilizando VBA. El siguiente código añadirá un hipervínculo a la celda A1:

Sub añadir_hipervinculo_a_celda()
  ActiveSheet.Hyperlinks.Add Range("A1"), Address:="https://www.automateexcel.com/excel/"
End Sub

El resultado es:

añadir hipervinculo celda

 

Añadir texto para mostrar con VBA

Puede añadir un texto para mostrar a su hipervínculo con VBA. Si utilizara la funcionalidad de la hoja de cálculo, insertaría un hipervínculo y luego añadiría un texto para mostrar en el cuadro de diálogo proporcionado. El código siguiente muestra cómo añadir texto para mostrar a su hipervínculo utilizando VBA:

Sub mostrar_texto_en_hipervinculo()
  ActiveSheet.Hyperlinks.Add Range("A1"), Address:="https://www.automateexcel.com/excel/", TextToDisplay:="Automate Excel"
End Sub

El resultado es:

mostrar texto en hipervinculo

 

Añadir un ScreenTip con VBA

Puede añadir un ScreenTip a su hipervínculo que el espectador verá cuando pase el ratón por encima del enlace. El código siguiente muestra cómo añadir un ScreenTip a su hipervínculo utilizando VBA:

Sub añadir_ScreenTip_al_hipervinculo()
  ActiveSheet.Hyperlinks.Add Range("A1"), Address:="https://www.automateexcel.com/excel/", _
  TextToDisplay:="Automate Excel", ScreenTip:="Este es un enlace para Automate Excel "
End Sub

El resultado es:

añadir ScreenTip al hipervinculo

Eliminar un Hipervínculo con VBA

El método Hyperlinks.Delete se puede utilizar para eliminar un hipervínculo de una celda. El siguiente código eliminará el hipervínculo de la celda A1 y el texto de la celda. Ten en cuenta que al eliminar el hipervínculo, no se elimina el texto en sí, por lo que si quieres que se elimine el texto también tienes que utilizar el método Clear.

Sub borrar_hiperenlace_en_celda()
  Range("A1").Hyperlinks.Delete
  Range("A1").Clear
End Sub

Eliminar todos los hipervínculos de una hoja de cálculo

También puedes  eliminar todos los hipervínculos de tu hoja de cálculo utilizando el método Hyperlinks.Delete. El siguiente código borrará todos los hipervínculos en la primera hoja de trabajo de tu libro:

Sub EliminarTodosLosHiperenlacesEnHoja()
  ThisWorkbook.Sheets(1).Hyperlinks.Delete
End Sub

Seguir un Hipervínculo de un Sitio Web Usando VBA

El siguiente código le permite abrir la dirección de un sitio web, en una nueva ventana en su navegador utilizando el método FollowHyperlink en su libro de trabajo:

Sub SeguirHiperenlaceParaSitioWeb()
  ActiveWorkbook.FollowHyperlink Address:="https://www.automateexcel.com/excel", NewWindow:=True
End Sub

Seguir un hipervínculo a una carpeta de su disco duro

El siguiente código abrirá una carpeta llamada ExcelFiles en el Escritorio utilizando el método FollowHyperlink:

Sub SeguirHipervínculoParaCarpetaEnDrive()
  ActiveWorkbook.FollowHyperlink Address:="C:\Carpeta VBA"
End Sub

Seguir un hipervínculo a un archivo en la unidad de disco

El siguiente código abrirá un archivo de Excel llamado WorkbookOne en la carpeta llamada ExcelFiles en el Escritorio usando el método FollowHyperlink:

Sub SeguirHipervínculoParaArchivo()
  ActiveWorkbook.FollowHyperlink Address:="C:\Carpeta VBA\Libro1.xlsm", NewWindow:=True
End Sub

Ir a una celda de otra hoja del mismo libro de trabajo

Puedes añadir un hipervínculo a una celda en una hoja que te lleve a otra hoja, en el mismo libro de trabajo con VBA. Digamos que estás en la Hoja1, celda A1 de tu libro de trabajo y quieres insertar un hipervínculo a la Hoja2, celda B2 del mismo libro de trabajo, puedes usar la propiedad Subdirección para hacerlo. El siguiente código demuestra cómo hacerlo:

Sub ir_a_otra_celda_en_otra_hoja_en_mismo_libro()
  ActiveSheet.Hyperlinks.Add Range("A1"), Address:="", SubAddress:="'" & Hoja2.Name _
  & "'!B2", TextToDisplay:="Clic aquí para ir a la Hoja2, celda B2 de este mismo libro"
End Sub

Mostrar todos los hipervínculos de una hoja de trabajo

Puedes acceder a la colección de hipervínculos y mostrar todos los hipervínculos de tu hoja de trabajo en la Ventana inmediato en el Editor VBA. Primero debes presionar CTRL+G en tu teclado o ir a Ver>Ventana inmediato en el Editor VBE, para ver la Ventana inmediato. El siguiente código muestra cómo ver los hipervínculos en su hoja de trabajo en la Ventana inmediato:

Sub MostrarTodosLosHiperenlacesEnLaHojaDeTrabajo()
    Dim hoja As Worksheet
     
    Set hoja = ThisWorkbook.Sheets("Hoja1")
     
    For Each enlace In hoja.Hyperlinks
        Debug.Print enlace.Address
    Next enlace
End Sub

Los resultados se muestran en la ventana inmediato.

mostrar hiperenlaces de hoja de trabajo

Mostrar todos los Hipervínculos de un Libro de Trabajo

Puede acceder a la colección de hipervínculos, para recorrer y mostrar todos los hipervínculos de su Libro de Trabajo en un Cuadro de Mensajes. El siguiente código muestra cómo hacer esto, y utiliza un bucle anidado para lograrlo:

Sub MostrarTodosLosHiperenlacesEnElLibroDeTrabajo()
    Dim hoja As Worksheet
    For Each hoja In ActiveWorkbook.Worksheets
        For Each enlace In hoja.Hyperlinks
            MsgBox enlace.Address
        Next enlace
    Next hoja
End Sub

Uso del método FollowHyperlink para crear correos electrónicos

También puede crear correos electrónicos utilizando el método FollowHyperlink. El siguiente código le mostrará cómo crear correos electrónicos utilizando el método FollowHyperlink en VBA:

Sub enviar_email_usando_Hyperlink()
 
    Dim mensaje As String
     
    mensaje = "mailto:" & "person@email.com" & "?" & "subject=" & "Hola" & "&" & "body=" & "Como estás?"
    ActiveWorkbook.FollowHyperlink (mensaje)
 
End Sub

El resultado es:

enviar correo con hiperlink

Añadir un Hipervínculo a una Autoforma en Excel

Puede añadir un hipervínculo a una Autoforma en Excel para que cuando el usuario haga clic en la forma sea llevado a una dirección de sitio web. El siguiente código crea un rectángulo redondeado, añade el texto al rectángulo y añade un hipervínculo al rectángulo:

Sub añadir_hipervinculo_a_forma()
 
    Dim forma As Shape
    Set documento = Worksheets("Hoja1")
    Set forma = documento.Shapes.AddShape(msoShapeRoundedRectangle, 100, 100, 90, 30)
     
    With forma
    .TextFrame.Characters.Text = "Automate Excel"
    End With
     
    ActiveSheet.Hyperlinks.Add Anchor:=forma, Address:="https://www.automateexcel.com/excel"
 
End Sub

El resultado es:

añadir hipervinculo a forma

 

Inserción de la fórmula de hipervínculo en una celda utilizando VBA

Digamos que tienes un título de la publicación en la celda A4 y un enlace de la publicación en la celda B4 como se muestra en la imagen de abajo.

insercion de formula hipervinculo

Un rápido recordatorio de la sintaxis de la fórmula de Hipervínculo  de la hoja de trabajo es:

HYPERLINK(ubicación_del_enlace, [nombre])

ubicación_del_enlace – Es el enlace al documento, archivo, lugar en el libro de trabajo o sitio en línea.

nombre –(Opcional) – El texto o valor numérico que se muestra en la celda.

En la celda C4, quieres añadir el hipervínculo con un texto amigable para mostrar, ahora normalmente introducirías la fórmula =HYPERLINK(B4,A4) en C4 para obtener lo siguiente:

insercion de formula hipervinculo resultado

En su lugar, podrías utilizar VBA para conseguir el mismo resultado, e insertar esta fórmula en la celda, en la Hoja1 con el siguiente código:

Sub añadir_formula_hipervinculo_en_celda()
  ActiveWorkbook.Worksheets("Hoja1").Range("C4").formula = "=hyperlink(B4,A4)"
End Sub

Añadir un hipervínculo a un botón en Access

VBA permite trabajar con hipervínculos en Access también. Digamos que tenemos un botón en un formulario y cuando el usuario hace clic en ese botón queremos que sea llevado a un sitio web. Una forma de hacerlo es a través del método Application.FollowHyperlink. Tenemos nuestro formulario de ejemplo con un botón llamado btEnlace que se muestra a continuación.

hipervinculo en formulario access

El código para este botón sería

Private Sub btEnlace_Click()
    Application.FollowHyperlink ("https://www.automateexcel.com/excel/")
End Sub

Creando un Hipervínculo desde una Selección en Word

Usted puede trabajar con hipervínculos en Word VBA también. Digamos que tenemos un texto en Word que dice «Haga clic aquí para ser llevado al sitio web de Automate Excel», que es seleccionado como se muestra a continuación.

hipervinculo en word

Para convertir este texto en un hipervínculo utilizando VBA, puede utilizar el siguiente código:

Private Sub convertir_seleccion_en_hipervinculo()
  ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, _
  Address:="https://www.automateexcel.com/excel/", ScreenTip:="Clic aquí por favor", Target:=NewWindow
End Sub

El resultado es:

hipervinculo en word resultado

vba-free-addin

Complemento de Ejemplos de Código de VBA

Acceda fácilmente a todos los ejemplos de código que se encuentran en nuestro sitio.

Simplemente navegue al menú, haga clic y el código se insertará directamente en su módulo. Complemento .xlam.

(¡No se requiere instalación!)

Descarga gratuita

Return to VBA Code Examples