Saltar al contenido
PROGRAMAR EN VBA MACROS DE EXCEL

Como utilizar el método Find para buscar datos


.

Algo que siempre se necesita en Excel es buscar datos, como buscar datos en Excel utilizando el método Find, es lo que se mostrará en este post; si estás leyendo este post seguramente será de tu interés otros post relacionados con búsqueda de datos como son:
1) como usar la función VLookup o BuscarV al presionar enter
2) como usar la función VLookup o BuscarV con base datos en otra hoja
3) como buscar datos con Vlookup y conservar los hipervinculos en los datos que ese obtienen de la base de datos.

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 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 distintasbuscar en listbox mientras escribes en textbox, como crear una factura o sale invoice y grabar guardar PDF XLS y enviar por mailconectar 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);
}
}

 
En el libro de Excel de ejemplo, al iniciar el mismo, se ejecuta un procedimiento que llama a una macro,  con el objeto del llenar el combobox incrustado o activeX que se encuentra en el libro.
Difiere un poquito con el vídeo explicativo ya que el llenado del combobox se realiza al momento de presionar la flecha del combobox para elegir el item, de las dos formas es válido depende de como quiera llenar el combobox cada uno, la ventaja que tiene llenar el combobox al inicio es que se realiza el procedimiento una sola vez a diferencia del llenado del combobox que se realiza cada vez que se desee elegir un item, si bien ocupa más recursos, tiene la ventaja los items del combobox están siempre actualizados al tener una base de datos variable, en el primer caso para que se actualicen los datos del combobox se debe cerrar el libro y luego volver a ingresar, salvo que se ponga en un botón una macro que actualice los datos cargados al combobox.  
En el ejemplo se determina el rango variable que es donde se va a buscar o donde está la base de datos. esto se hace con los siguientes códigos:
uf = Range(«A» & Rows.Count).End(xlUp).Row
r1 = «A2:A» & uf

Con el siguiente código se busca el dato requerido; luego se pregunta se fue encontrado el dato, en ese caso hace el procedimiento correspondiente que en este caso es seleccionar el dato y resaltarlo con color rojo.
Set codigo = Range(r1).Find(busco, LookIn:=xlValues, LookAt:=xlWhole)
If Not codigo Is Nothing Then
En el caso que puedas considera aportar para sostener el sitio y según incorporando nuevos ejemplos que podrás descargar en forma gratuita, en caso que no puedas solicitó compartas el conocimiento con tus amigos en redes sociales. 
Desde el link del final se podrá descargar el el ejemplo de macro denominado como buscar datos en Excel utilizando método find, el código del ejemplo se encuentra abierto y se puede usar y adaptar a las necesidades de cada lector.

Código que se inserta en un módulo

Sub LLenaCombo()
uf = Range(«A» & Rows.Count).End(xlUp).Row
For x = 3 To uf
Sheets(«Hoja1»).ComboBox1.AddItem Range(«A» & x)
Next x
End Sub

Código que se inserta en un ThisWorkbook

Private Sub Workbook_Open()
Call LLenaCombo
End Sub

Código que se inserta en el objeto hoja
Private Sub ComboBox1_Change()
Application.ScreenUpdating = True
uf = Range(«A» & Rows.Count).End(xlUp).Row
busco = Sheets(«Hoja1»).ComboBox1
r1 = «A2:A» & uf
Set codigo = Range(r1).Find(busco, LookIn:=xlValues, LookAt:=xlWhole)
If Not codigo Is Nothing Then
dire = codigo.Row
Cells.Interior.Color = xlNone
Cells(codigo.Row, «A»).Interior.Color = 255
Cells(codigo.Row, «A»).Select
End If
Application.ScreenUpdating = True
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