Como usar la función VLookup o BuscarV al presionar enter y conservar hypervinculo


La expresión WorksheetFunction  permite a las macros ejecutar casi todas las funciones que vienen integradas en Excel, en este oportunidad muestro a pedido de un suscriptor del canal de YouTube como conservar los link, vinculos, hyperlink o hipervinculos, usando la función Vlookup o BuscarV, al traer los datos de la base de datos a la hoja donde se requieren los 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.

Antes de seguir 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.

  

El ejemplo denominado como usar la funcion Vlookup o BuscarV al presionar enter y conservar los hypervinculos, link o hyperlink, para lograr que se ejecute al presionar enter se debe agregar el siguiente código en el objeto hoja del libro, para una mejor y más fácil comprensión de lo que se intenta explicar, solicitó se descargue el archivo desde el link del final.

If Target.Column = 2 And Target.Row = 1 Then
Application.OnKey "{ENTER}", "VLookupConEnterLink"

El código anterior solo tiene en cuenta las modificaciones en la celda B1, que es donde se debe ingresar el dato a buscar, el código anterior permiente que al presionar enter se ejecute la macro denominada en este ejemplo "VlookupConEnterLink".

Posterior a ello se carga en la variable bus1 y demás variables similares, el texto que coincide exactamente con la búsqueda realizada

bus1 = Application.WorksheetFunction.VLookup(Cells(1, "B"), b.Range("A" & pf & ":F" & uf), 1, False)

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.

El código que sigue a continuación permite crear un hipervinculo, link, hipertexto o hyperlink a la URL que está contenida en los registros que conforman la base de datos.

a.Hyperlinks.Add Anchor:=a.Cells(4, "F"), Address:=bus6, TextToDisplay:=bus6

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 macro para copiar varias hojas y guardar como con el explorador de windowsbuscar 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 VLookupConEnterLink()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
Dim uf As String
Set a = Sheets(ActiveSheet.Name)
Set b = Sheets("URL MACRO EJEMPLO")
b.Range("A4:F4").Clear
pf = 2
uf = b.Range("A" & Rows.Count).End(xlUp).Row
bus1 = Application.WorksheetFunction.VLookup(Cells(1, "B"), b.Range("A" & pf & ":F" & uf), 1, False)
bus2 = Application.WorksheetFunction.VLookup(Cells(1, "B"), b.Range("A" & pf & ":F" & uf), 2, False)
bus3 = Application.WorksheetFunction.VLookup(Cells(1, "B"), b.Range("A" & pf & ":F" & uf), 3, False)
bus4 = Application.WorksheetFunction.VLookup(Cells(1, "B"), b.Range("A" & pf & ":F" & uf), 4, False)
bus5 = Application.WorksheetFunction.VLookup(Cells(1, "B"), b.Range("A" & pf & ":F" & uf), 5, False)
bus6 = Application.WorksheetFunction.VLookup(Cells(1, "B"), b.Range("A" & pf & ":F" & uf), 6, False)

a.Cells(4, "A") = bus1
a.Cells(4, "B") = bus2
a.Hyperlinks.Add Anchor:=a.Cells(4, "C"), Address:=bus3, TextToDisplay:=bus3
a.Hyperlinks.Add Anchor:=a.Cells(4, "D"), Address:=bus4, TextToDisplay:=bus4
a.Cells(4, "E") = bus5
a.Hyperlinks.Add Anchor:=a.Cells(4, "F"), Address:=bus6, TextToDisplay:=bus6

If bus1 = Empty Then
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}", "VLookupConEnterLink"
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