Recorre fila buscando y comparando datos de dos columnas en hojas distintas

Buscar datos en una necesidad en toda base de datos, son bastantes las macros que se dedican a ello con todas las variantes posibles que dependen de cada proyecto en especial, básicamente lo que se hace es un bucle que recorra la fila inicial hasta la última fila con datos; me preguntan en un foro sobre como buscar datos en dos hojas diferentes y copiar los datos coincidentes en la primer hoja, la variante es que para que coincidan los datos, debe haber coincidencia de datos en dos columnas de la hoja1 con dos columnas de la hoja.

Como se dijo, el fin de  la macro es buscar datos coincidentes, para lleva a cabo este proceso, se concatena las dos columnas que brindan el criterio por el cual se debe buscar, de esta manera, se vuelca en una variable dicho dato; lo mismo se hace con los datos de la hoja en donde se deben buscar los datos, procediendo a echar manos a un bucle mediante While ... Wend, una vez encontrados los datos, estos son expuestos en la columna A, dejando en blanco obviamente la fila con los datos que no se hayan encontrado en  la hoja dos.

Existen otros post relacionados con la búsqueda de datos, la diferencia es que en combobox incrustado en hoja de Excel, los datos a buscar son seleccionados mediante un combobox, en el post mencionado se explicaba en detalle como incrustar un combobox  en la hoja de Excel y seleccionar ítems desde el mismo, acá existe una variante echando manos a un userform, la Macro realizada en VBA ejecuta un procedimiento muy similar, con la variante que en vez de estar incrustado en la hoja de Excel, el combobox está en un formulario, a lo que se agrega que se puede seleccionar el archivo donde buscar los datos.
 
Un libro sobre Excel que creo que te puede ayudar a comprender y  manejar las planillas de cálculo, lo encontrarás en el siguiente link, click acá.


Si buscas en el blog te encontrarás con varios procedimientos de VBA relacionados con la búsqueda de datos a través de Macros de Excel; el post buscar datos en tres columnas muestra como tratar y buscar los datos de tres columnas a comparar; si  quieres más ejemplos sobre como buscar datos  te aconsejo ver  el ejemplo de macro sobre como buscar datos en todas las filas  en base  a criterios, ingresando al menú mapsite de este sitio,  encontrarás un listado de todos los procedimientos que están disponibles para descargar y ver su funcionamiento o adaptar a lo que se requiera para llevar a cabo las macros de Excel que se estén realizando.

Código que se debe ingresar en un módulo, desde el link podrás descargar el ejemplo

Sub BuscaDatosCoicidentes()
Application.ScreenUpdating = False
Dim fila, fila1, conta As String
Dim d1, d2, d3, d4 As String
Dim con1, con2 As String
fila = 2
fila1 = 2
conta = 0

Sheets("Hoja1").Select
While Sheets("Hoja1").Cells(fila, 2) <> Empty
d1 = Sheets("Hoja1").Cells(fila, 2).Value
d2 = Sheets("Hoja1").Cells(fila, 3).Value
con1 = d1 & d2
  
    While Sheets("Hoja2").Cells(fila1, 1) <> Empty And conta = 0
    d3 = Sheets("Hoja2").Cells(fila1, 1).Value
    d4 = Sheets("Hoja2").Cells(fila1, 2).Value
    con2 = d3 & d4
   
        If con1 = con2 Then
            Sheets("Hoja1").Cells(fila, 1) = Sheets("Hoja2").Cells(fila1, 1)
            conta = 1
        Else
        fila1 = fila1 + 1
        End If
   
    Wend
conta = 0
fila1 = 2
fila = fila + 1
Wend
Application.ScreenUpdating = False
End Sub








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