Como buscar datos en Excel y crear hyperlink link hipervinculo al registro


Como se ha explicado la expresión WorksheetFunction  permite a las macros ejecutar casi todas las funciones que vienen integradas en Excel, en este ejemplo se va a mostrar como buscar un dato ingresado y crear un hyperlink, link, vínculo o hipervinculo al registro en la base de datos.

Quizás sea de utilidad post anteriores denominados:
como usar la función VLookup o BuscarV al presionar enter y como usar la función VLookup o BuscarV con base datos en otra hoja o como buscar datos con Vlookup y conservar los hipervinculos en los datos que ese obtienen de la base de datos.

Recomiendo leer un excelente libro sobre Excel que te ayudará operar las planillas u hojas de cálculo, haz click acá, si quieres aprender sobre Excel, en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet.

  

Al descargar el ejemplo de macro que permite buscar datos en Excel y crear link a dicho dato en la base de datos, se podrá observar que en la celda B1 se podrá ingresar el dato a buscar, al presionar enter se ejecuta la macro y en forma automática busca los datos en la base de datos que está en otra hoja y trae los datos encontrados conjuntamente con los registros relacionados a la hoja donde se ingresó el dato a buscar.

Esta forma de búsqueda tiene la particularidad que se crea en la celda A4 un link al registro encontrado que se encuentra en la hoja "URL MACRO EJEMPLO", ello se realiza con el siguiente código:

texhip = a.Cells(codigo.Row, 1)
celhyper = "'" & a.Name & "'" & "!" & "A" & codigo.Row
b.Hyperlinks.Add Anchor:=b.Cells(4, "A"), Address:="", SubAddress:=celhyper, TextToDisplay:=texhip

En la variable texhip es igual al dato encontrado, en este caso corresponde con un código de registro que se encuentra en la columna A, notese que el hyperlink se crea en la columna A fila cuatro.

La variable celhyper recepta un string con la dirección donde se dirigirá el link, hyperlink, hipervinculo o vinculo, siendo usado la sintaxis SubAddress del código que permite generar un link.

Luego la macro sigue agregando los datos correspondientes con el registro buscado y los coloca en la misma fila 4 columna correspondiente.

Considera la posibilidad de aportar al mantenimiento del sitio si consideras que fue útil, el ejemplo se puede descargar en forma gratuita desde el final del post, desde el link destinado a tal efecto.

Para comprender mejor lo expuesto, recomiendo observar vídeo siguiente para una más fácil comprensión de la macro; suscribe a nuestra web desde la parte superior derecha de la página ingresando tu mail y a nuestro canal de You Tube para recibir en tu correo vídeos explicativos sobre macros interesantes, como  por ejemplo como guardar un archivo con una fecha en el nombrebuscar en listbox mientras escribes en textbox, como crear una factura o sale invoice y grabar guardar PDF XLS y enviar por mail, como conectar Excel con Word y modificar una plantilla de Word y muchos ejemplos más.









 

Código que se inserta en un módulo

Sub BuscarMetodoFindEnterHyperlink()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
Dim uf As String, texhip As String
Set a = Sheets("URL MACRO EJEMPLO")
Set b = Sheets("Hoja1")
b.Range("A4:F4").Clear
pf = 2
uf = a.Range("A" & Rows.Count).End(xlUp).Row
r = "A" & pf & ":A" & uf
busco = Cells(1, "B")
Set codigo = a.Range(r).Find(busco, LookIn:=xlValues, LookAt:=xlWhole)

If Not codigo Is Nothing Then
texhip = a.Cells(codigo.Row, 1)
celhyper = "'" & a.Name & "'" & "!" & "A" & codigo.Row
b.Hyperlinks.Add Anchor:=b.Cells(4, "A"), Address:="", SubAddress:=celhyper, TextToDisplay:=texhip
Cells(4, "B") = a.Cells(codigo.Row, 2)
Cells(4, "C") = a.Cells(codigo.Row, 3)
Cells(4, "D") = a.Cells(codigo.Row, 4)
Cells(4, "E") = a.Cells(codigo.Row, 5)
Cells(4, "F") = a.Cells(codigo.Row, 6)
Else
Range("4:4").Clear
Cells(4, "A") = "No se encontraron registros en la base de datos"
End If
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub


Código que se inserta en un objeto hoja del libro

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 2 And Target.Row = 1 Then
Application.OnKey "{ENTER}", "BuscarMetodoFindEnterHyperlink"
End If
End Sub

Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.


If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.


Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends