Asignar Hipervínculo a Label dentro de un formulario de Excel vba
En ocasiones deseamos incluir un Hipervínculo o Link a nuestros formularios, para que cuando se muestre, el usuario pueda dirigirse a nuestra página, Blog u otro Sitio dando clic.
Recomendación: Crear un formulario de introducción o Splash en Excel
Es por eso, que les comparto la manera en la que podemos asignar un Hipervínculo a un control Label en un formulario.
Figura 1. Asignamos un Link a un Label dentro de un Formulario.
Ver Video Hipervínculo en Formulario
Suscríbete al canal de EXCELeINFO en YouTube para aprender más de Excel y macros.
Cómo lo hacemos
Dentro de nuestro IDE de VBA (Alt + F11) insertaremos un Formulario nuevo y dentro de éste vamos a añadir un Label y le pondremos el nombre lblLink.
Dentro del código del formulario usaremos las siguientes macros de Excel vba:
Primero asignamos las variables para la función ShellExecute:
'Declaración de variables #If VBA7 And Win64 Then Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _ ByVal hwnd As LongPtr, ByVal lpOperation As String, ByVal lpFile As String, _ ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As LongPtr #Else Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _ ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _ ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long #End If
Al dar clic sobre el Label se ejecutará la siguiente macro que manda llamar la función ShellExecute:
'Al dar clic sobre el Label Private Sub lblLink_Click() ' ShellExecute 0, "Open", "http://www.exceleinfo.com/", "", "", 1 ' End Sub
Usaremos el siguiente código para el evento Initialize en el que se cambiará de color al texto del Label además de mostrar un mensaje al pasar el cursos sobre el Label con la Propiedad ControlTipText.
'Al iniciar el formulario Private Sub UserForm_Initialize() ' With Me ' .lblLink.ControlTipText = "Ir a Blog http://www.exceleinfo.com" .lblLink.ForeColor = &HFF0000 ' End With ' End Sub