Como abro un hipervínculo desde un formulario en Excel

Tengo la siguiente pregunta por si alguien me puede ayudar.

Tengo un formulario donde realizo consultas, en un textbox ingreso un dato y funciona como un buscarV, y en los siguientes textbox me completa con los datos que se encuentran en la misma fila.

Pero además cada fila de datos tiene al final un hipervínculo que me abre un pdf con un documento, necesito que pueda abrir el hipervínculo desde el formulario.

1 Respuesta

Respuesta
1

No se con que instrucción obtenés la fila del registro encontrado, pero generalmente utilizamos Set busco = ... y en ese caso busco. Row me da la fila (busco es el nombre de una variable cualquiera)

Ejemplo: la col K tiene el vínculo

codi = TextBox1.ValueSet busco = Range("A6:A" & Range("A" & Rows.Count).End(xlUp).Row).Find(codi, LookIn:=xlValues, lookat:=xlWhole)'si encuentra el datoIf Not busco Is Nothing Then'pasa el dato de la col sgte a otro textbox    TextBox2 = busco.Offset(0, 1)'abre el hiperv que se encuentra en la col K    vinc = Range("K" & busco.Row).Value    Range("K" & busco.Row).Hyperlinks(vinc).Follow NewWindow:=False, AddHistory:=TrueEnd If

Si te presenta alguna dificultad, dejame escrita tu macro de búsqueda para agregarle esto.

Sdos.

Elsa

Hola Elsa, muchas gracias por tu respuesta, aunque aún no tengo muy claro que puedo hacer para insertar el hipervínculo.

Te adjunto mi archivo.

https://www.dropbox.com/s/g5kg3a8u1i3xfec/DOCTO.xlsm?dl=0 

En este archivo de ejemplo tengo la base de datos y el formulario, y cada uno va con su hipervínculo aparte, (puse en este caso currículo). Y que al presionar el botón de cargar CV pueda aparecer el hipervínculo del personaje buscado.

Te lo agradecería mucho...

El código que utilicé fue... se supone que en la columna E debiesen ir cada uno de los hipervínculos...

Private Sub CommandButton1_Click()

Dim nombre, buscar As String
Dim fila As Integer
nombre = TextBox1
Do While busca <> nombre
fila = fila + 1
busca = Range("A" & fila).Value
If busca = Empty Then
MsgBox "No se encontro dato"
Exit Do
End If
Loop

TextBox2 = Range("B" & fila).Value
TextBox3 = Range("C" & fila).Value
TextBox4 = Range("D" & fila).Value
TextBox1.SetFocus

End Sub

Para el botón 'Cargar CV' la macro sería esta:

Private Sub CommandButton2_Click()
'x Elsamatilde
codi = TextBox1.Value
Set busco = Range("A2:A" & Range("A" & Rows.Count).End(xlUp).Row).Find(codi, LookIn:=xlValues, lookat:=xlWhole)
'si encuentra el dato
If Not busco Is Nothing Then
    'abre el hiperv que se encuentra en la col E
    Range("E" & busco.Row).Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
End If
End Sub

La hoja tendrá en col E los vínculos ya asignados:

Nota: El uso de Set también podés colocarlo en el botón de buscar en lugar de recorrer toda la lista. En este caso son pocos registros pero si vas a tener 1000 notarás la diferencia. Algunas instrucciones de ejemplo quedaron en respuesta anterior.

Sdos

Elsa

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas