Comparar dos rangos y lo que encuentre igual lo ponga en una tercera hoja

Tengo un libro con 3 hojas una que se llama "base" que tiene la bases de datos de consulta, otra que se llama "comparar" que es donde cargo todo lo que tengo que comparar con la "base" y una tercera que es "resultado" que seria la resultan de de comparar lo que sea igual que la base que puse en "comparar" . O sea que lo que necesito es poner los datos en un rango en la hoja comparar y al ejecutar la macro busco los iguales en la base y los copie en resultado.

"base"

100000Ventas

110000Ventas Cargas

110100Remitos -Carga-

110101Remitos - Cancelación

110200Facturas Manuales -Carga-

110201Facturas - Articulo sin OC110300

110301Bloqueo de Saldo -Carg-

110400Notas de Pedido - Carga -

110401Notas de Pedido - Autorizaciones -

110402Notas de Pedido - Botón Autorizo -

110403Notas de Pedido - Botón Despacho -

110404Nota de Pedido -Cancelación-

110405Notas de Pedido - Botón Autorizo Comercial -

"comparar"

110200Facturas Manuales -Carga-

110402Notas de Pedido - Botón Autorizo -

110405Notas de Pedido - Botón Autorizo Comercial -

"resultado"

Compara con la base y si esta lo copia en esta hoja o si no da un error " no existe".

Respuesta
2

H ol a: Te anexo la macro.

Solamente ayúdame con las letras de las columnas donde tienes los datos de la hoja "base", "comparar"; en cuáles columnas quieres el resultado en la hoja "resultado"; y en la hoja "comparar" en dónde quieres el texto "no existe", en caso de que el dato no exista.



Sub Comparar_Base()
'Por.Dante Amor
    Set h1 = Sheets("base")
    Set h2 = Sheets("comparar")
    Set h3 = Sheets("resultado")
    col1 = "A"  'columna de la hoja base
    col2 = "A"  'columna de la hoja comparar
    col3 = "A"  'columna de la hoja resultado
    cole = "B"  'columna en la hoja comparar para poner el error "no existe"
    '
    h3.Cells.Clear
    j = 1
    For i = 1 To h2.Range(col2 & Rows.Count).End(xlUp).Row
        dato = h2.Cells(i, col2)
        Set b = h1.Columns(col1).Find(dato, lookat:=xlWhole)
        If Not b Is Nothing Then
           h3.Cells(j, col3) = dato
           j = j + 1
        Else
            h2.Cells(i, cole) = "No existe"
        End If
    Next
    MsgBox "Fin del proceso", vbInformation, "COMPARAR BASE"
End Sub
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas