Tiempo atrás un usuario me planteaba cómo conseguir hacer en nuestro ListBox un hipervínculo...
Aunque no conseguiremos el efecto subrayado típico de los vínculos en Excel, desde luego alcanzaremos plenamente la funcionalidad, y al hacer doble clic sobre el item del ListBox se abrirá (si es que existe) la URL que aparezca.
Para ello partiremos de una sencilla tabla en nuestra hoja de cálculo (llamada 'TblCursos'), a partir de la cual, rellenaremos nuestro ListBox:
En el siguiente paso crearemos nuestro Userform y dentro de él un ListBox que he renombrado como 'LstB_vinculos' con las siguiente propiedades importantes:
.ColumnCount = 2
.ColumnWithds = 100 pt; 100 pt
.RowSource = TblCursos
Si lanzamos nuestro formulario esto es lo que veríamos:
El paso siguiente y último es añadir la funcionalidad buscada, esto es, incluir la acción de hipervínculo... lo que conseguiremos con el método .FollowHyperlink.
Para tal fin, insertamos nuestro código dentro de la ventana del formulario desde el editor de VB:
Hemos acabado. Ahora al realizar doble clic sobre el item elegido se lanzará el evento _DblClick programado y se abrirá, si es el caso, en nuestro navegador web, la página o link correspondiente...
Aunque no conseguiremos el efecto subrayado típico de los vínculos en Excel, desde luego alcanzaremos plenamente la funcionalidad, y al hacer doble clic sobre el item del ListBox se abrirá (si es que existe) la URL que aparezca.
Para ello partiremos de una sencilla tabla en nuestra hoja de cálculo (llamada 'TblCursos'), a partir de la cual, rellenaremos nuestro ListBox:
En el siguiente paso crearemos nuestro Userform y dentro de él un ListBox que he renombrado como 'LstB_vinculos' con las siguiente propiedades importantes:
.ColumnCount = 2
.ColumnWithds = 100 pt; 100 pt
.RowSource = TblCursos
Si lanzamos nuestro formulario esto es lo que veríamos:
El paso siguiente y último es añadir la funcionalidad buscada, esto es, incluir la acción de hipervínculo... lo que conseguiremos con el método .FollowHyperlink.
Para tal fin, insertamos nuestro código dentro de la ventana del formulario desde el editor de VB:
Private Sub LstB_vinculos_DblClick(ByVal Cancel As MSForms.ReturnBoolean) 'gestionamos el realizar el hipervínculo 'al accionar doble clic sobre el ListBox 'dirigimos el procedimiento en caso de error en el link On Error GoTo ControlErrores ThisWorkbook.FollowHyperlink Address:=LstB_vinculos.List(LstB_vinculos.ListIndex, 1) 'marcamos la salida o fin del procedimiento '.. tanto si todo ha ido bien Exit Sub 'controlamos la alerta en caso de error ControlErrores: If Err.Number = -2147221014 Then MsgBox "El vínculo no es correcto!!!" Else MsgBox "Error tipo: " & Err.Description End If 'acabmos el control de errores saliendo del procedimiento Exit Sub End Sub
Hemos acabado. Ahora al realizar doble clic sobre el item elegido se lanzará el evento _DblClick programado y se abrirá, si es el caso, en nuestro navegador web, la página o link correspondiente...
no funciona el link
ResponderEliminarHola, qué tal estás?, un placer saludarte igualmente.
Eliminar¿Te has asegurado que el link lleva a algún sitio que exista??
Saludos cordiales