AutoComparacion de Tablas

21/07/2005 - 18:40 por Compumakro | Informe spam
Amigos de Access
Tengo dos tablas "A" y "B", en la Tabla "A", Columna B tengo 2100 nombres y
sus cifras correspondientes en la Columna C.

En la Tabla "B", otra hoja, mismo archivo, más de 1000 nombres en su mayoría
iguales como en la Tabla "A" con sus cifras correspondientes en la Columna
C.



Necesito reemplazar los datos de la Columna C en la Tabla "A" por los datos
de la Columna C en la Tabla "B".

El caso es que hay disparidad en el orden de las tablas, por lo que no puedo
ordenar de A=>Z y confrontar, porque no coinciden



Es como una "AutoComparación" con "AutoBúsqueda" y Reemplazar. Las que no
Coincidan, quedan igual.

¿Cómo sería eso?



Gracias

Oscar
 

Leer las respuestas

#1 Héctor Miguel
22/07/2005 - 02:38 | Informe spam
hola, Oscar !

Amigos de Access <= menos mal que 'posteaste' en el foro 'indicado' :DD [es broma] ;)

... dos tablas "A" y "B", en la Tabla "A", Columna B tengo 2100 nombres y sus cifras... en la Columna C.
... Tabla "B", otra hoja, mismo archivo, mas de 1000 nombres en su mayoria iguales... Tabla "A" con sus cifras... en la Columna C.
... reemplazar los datos de la Columna C en la Tabla "A" por los datos de la Columna C en la Tabla "B"
... no puedo ordenar de A=>Z y confrontar, porque no coinciden
... una "AutoComparacion" con "AutoBusqueda" y Reemplazar. Las que no Coincidan, quedan igual



suponiendo que la tabla_A esta en la 'hoja1' y que la tabla_B esta en la 'hoja2'...
prueba con la siguiente macro ->supongo tambien que NO habra 'duplicados' dentro de cada listado<- -???-
si cualquier duda [o informacion adicional]... comentas?
saludos,
hector.
en un modulo de codigo 'normal' ==Sub Cambiar_Si_Coincide()
Application.ScreenUpdating = False
Dim Celda As Range, Candidato As Range
With Worksheets("Hoja2")
For Each Celda In .Range(.Range("b2"), .Range("b65536").End(xlUp))
On Error Resume Next
Set Candidato = Worksheets("Hoja1").Columns("b").Find(Celda)
If Not Candidato Is Nothing _
Then Candidato.Offset(, 1) = Celda.Offset(, 1): _
Set Candidato = Nothing
On Error GoTo 0
Next
End With
End Sub

Preguntas similares