.
El ejemplo muestra como se usa Vlookup o BuscarV para encontrar un dato ingresado y todos los registros relacionados, el ejemplo contiene una macro que permite buscar un número ingresado y traer desde la base de datos que está en otra hoja los registros relacionados. Probablemente necesites otros tipos de búsqueda, para ello es posible requieras buscar un datos por cliente entre fecha y fecha; o simplemente buscar datos entre fecha y fecha, buscar datos a medida que se escribe, buscar clientes en un listbox y cargarlos en los textbox.
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 primero determina la ultima fila con datos para determinar el rango variable donde se encuentran los datos, que en este caso, están en otra hoja, ello se hace con:
Luego se busca el valor cargado en la celda B1 en la hoja «URL MACRO EJEMPLO», una vez encontrado el dato se va cargando en las distintas variables:
bus1 = Application.WorksheetFunction.VLookup(Cells(1, «B»), b.Range(«A» & pf & «:F» & uf), 1, False)
Por último se copia en las celdas el valor de los distintos registros que coinciden con el dato buscado y cargado en la celda B1, de la siguiente manera:
Cells(4, «A») = bus1
Si el dato ingresado en B1 no se encuentra en la base de datos sale un mensaje avisando sobre el resultado negativo de la búsqueda, ello en la celda A4, el siguiente código permite realizar lo mencionado.
Cells(4, «A») = «No se encontraron registros en la base de datos»
El vídeo que sigue muestra una explicación más detallada y gráfica de la macro presentada, recomiendo observar 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 Recorre fila buscando y comparando datos de dos columnas en hojas distintas, buscar en listbox mientras escribes en textbox, como crear una factura o sale invoice y grabar guardar PDF XLS y enviar por mail, conectar Excel con Access y muchos ejemplos más.
if (payload.eventType == ‘subscribe’) {
// Add code to handle subscribe event.
} else if (payload.eventType == ‘unsubscribe’) {
// Add code to handle unsubscribe event.
}
if (window.console) { // for debugging only
window.console.log(‘YT event: ‘, payload);
}
}
Código que se inserta en un módulo
Sub VlookupoBuscarV()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
Dim uf As String
Set b = Sheets(«URL MACRO EJEMPLO»)
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)Cells(4, «A») = bus1
Cells(4, «B») = bus2
Cells(4, «C») = bus3
Cells(4, «D») = bus4
Cells(4, «E») = bus5
Cells(4, «F») = 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
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
Dim uf As String
Set b = Sheets(«URL MACRO EJEMPLO»)
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)
Cells(4, «A») = bus1
Cells(4, «B») = bus2
Cells(4, «C») = bus3
Cells(4, «D») = bus4
Cells(4, «E») = bus5
Cells(4, «F») = 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
.
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