Actualiza Bdatos desde otra BDatos

Hola Parmijo:
Tengo una Base de datos en Excel, que constantemente la actualizo con exportaciones de otro software.
El problema esta, que se debe revisar la base, y en algunas ocasiones debo modificar los registros.
Antes de actualizar la Base original(llamemos hoja BDatos), efectúo una extracción de modo tal que solo me separe (en otra hoja llamemos Modif)) los registros que han sufrido alguna modificación en alguno de sus campos.
Luego copio como Base de datos (BDatos) la hoja exportada por el software (contiene los mismos datos antiguos + otros nuevos)
Ahora, mi problema es el siguiente:
¿Cómo ubico en la hoja recién exportada los registros que anteriormente modifique (y que se encuentran en la hoja Modif), y actualizo estos cambios?
(Si gustas puedo enviarte los archivos, para que puedas entender mejor)
Espero muy ansioso que puedas ayudarme,
Seria muy apreciado por mi
Gracias
Pepe

1 respuesta

1
Respuesta de
Te adjunto un macro para que la pruebes.
Comparar datos entre dos hojas, espejo una de la otra y marcar las diferencias
Aplicación: Hoja2 copia de la Hoja1, para saber si en Hoja2 faltan datos o son diferentes de Hoja1.
(En la Hoja2 no debe haber datos que no estén en la Hoja1, el código sería diferente)
Insertar el código en ThisWorkbook, cerrar Visual Basic y ejecutar la macro creada: ALT+F8
Sub MarcarFilasDiferentes()
Dim wks1 As Worksheet, wks2 As Worksheet
Dim rng1 As Range, celda1 As Range
Dim lngFila1 As Long, lngFila2 As Long
Dim blnDiferencia As Boolean
Set wks1 = ThisWorkbook.Worksheets("Hoja1")
Set wks2 = ThisWorkbook.Worksheets("Hoja2")
lngFila1 = 1
lngFila2 = 1
While Not IsEmpty(wks1.Cells(lngFila1, 1))
blnDiferencia = False
Set rng1 = wks1.Range(Cells(lngFila1, 1), Cells(lngFila1, _
wks1.Cells(lngFila1, 256).End(xlToLeft).Column))
For Each celda1 In rng1.Cells
If wks2.Cells(lngFila2, celda1.Column).Value <> _
celda1.Value Then
rng1.Interior.ColorIndex = 8
blnDiferencia = True
Exit For
End If
Next
lngFila1 = lngFila1 + 1
If Not blnDiferencia Then lngFila2 = lngFila2 + 1
Wend
Set rng1 = Nothing
Set wks1 = Nothing
Set wks2 = Nothing
End Sub
fuente:http://www.infonegocio.com/luzylar/excel.htm#1m
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje