Macro para copiar entre 2 hojas resaltando diferencias de datos

Primero que todo felicitarlos por este excelente foro, el cual me ha ayudado bastante con algunas cosas de excel que he tenido que hacer, encuentro muy buena esta comunidad..
El motivo por el que les escribo para pedir su ayuda es el siguiente.
Estoy intentando de armar un archivo, llamado "consolidado" o "Archivo B" el cual dentro de el hay hojas, "hoja 1" que corresponde a una copia de un archivo externo o "Archivo A" con información, el cual mediante un botón y código vb,
logra conectarse el archivo consolidado con el otro libro y solamente copiar y pegar la información respetando los formatos.
El objetivo de este archivo consolidado es que cuando se ejecute, importe la hoja completa del otro excel, en una segunda pestaña ir almacenando los registros históricos del otro archivo, que se irán ingresando según aparezcan en el
archivo del repositorio, y pueda pintar de color rojo las diferencias.
Lo que he logrado hasta ahora es en una tercera hoja (solamente a modo de prueba), probando mediante funciones si y buscar v, usando como criterio de comparación un nombre único que existe en una columna, cruce ambas hojas y me retorne
verdadero/falso según si son iguales o no, luego, aplicando formato condicional a los falsos de esta misma hoja de prueba.
Lo que no he podido hacer es que en la pestaña de consolidado poder traspasar esto mismo, es decir, que en la misma intentar que estaba en la tercera pestaña se pinte de color rojo los valores que son diferentes entre la hoja 1 (datos
que vienen de otro archivo) y la pestaña/hoja con la info consolidada histórica que se va almacenando
Lo otro que deseo hacer, es que todas las filas que están en la hoja 1 y no están en la hoja del consolidado se traspasen puesto que estos serán los nuevos registros que se trabajaran.
¿Alguien podría ayudarme como poder lograr esto?

1 respuesta

Respuesta
1

Me puedes enviar tus archivos y con colores y ejemplos me explicas lo que necesitas.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “Pedro Casas” y el título de esta pregunta.

¡Gracias! Correo enviado con la info, gracias!

Te anexo la macro

Sub ActualizarConsolidado()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Set h1 = Sheets("Hoja1")
    Set h2 = Sheets("Consolidado")
    '
    For i = 3 To h1.Range("B" & Rows.Count).End(xlUp).Row
        Set b = h2.Columns("B").Find(h1.Cells(i, "B"), lookat:=xlWhole)
        If Not b Is Nothing Then
            h1.Range("A" & i & ":AC" & i).Copy
            h2.Cells(b.Row, "A").PasteSpecial Paste:=xlPasteValues
        Else
            u = h2.Range("B" & Rows.Count).End(xlUp).Row + 1
            h1.Range("A" & i & ":AC" & i).Copy
            h2.Cells(u, "A").PasteSpecial Paste:=xlPasteValues
        End If
    Next
    Application.ScreenUpdating = True
    h2.Select
    MsgBox "Terminado"
End Sub

Saludos.Dante Amor

¡Gracias! Me ayudaste mucho, gracias por todo!

Podrías dejar la pregunta como pública y como visible.

Si ocultas la respuesta, la valoración que me diste se pierde.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas