Excel - Macro excel comparar columnas y luego copiar y pegar

 
Vista:

Macro excel comparar columnas y luego copiar y pegar

Publicado por Xiomara (14 intervenciones) el 17/09/2011 05:37:09
Hola!!!
He tratado de realizar el siguiente proceso en una macro en excel pero aun no obtengo resultados :'( :

Tengo dos hojas, con las siguientes descripciones:

HOJA1: Valores en las columnas "A", "B", "C", "D", "E", y "F"

HOJA2: Valores en las columnas "A" y "B", columnas vacías en "G", "H", "I" y "J"

Quiero comparar en las dos hojas, las columnas "A" y "B", y en el caso de que estos valores coincidan, entonces que se copien de la HOJA1 los valores de las columnas "C", "D", "E", y "F", en la HOJA 2, en las columnas "G", "H", "I" y "J". Y las celdas en donde no coincidan las llene de ceros.

Un ejemplo sería algo como asi:



HOJA1 ________________HOJA2

A_B_C_D_E_F___A_B_C_D_E_F_G_H_I_J
1_C_1 _2_1_1 ___2_H
3_F__0_4_2_2___4_A
4_A_1__3_3_1___5_F
5_F_1__1_4_3___7_E
6_T_3__5_7_6___8_U
7_E_9__2_8_A___9_L


HOJA1 ________________HOJA2

A_B_C_D_E_F___A_B_C_D_E_F_G__H_I_J
1_C_1 _2_1_1 ___2_H
3_F__0_4_2_2___4_A__________1__3_3_1
4_A_1__3_3_1___5_F__________1__1_4_3
5_F_1__1_4_3___7_E__________9__2_8_A
6_T_3__5_7_6___8_U
7_E_9__2_8_A___9_L

Les agradezco la ayuda que me pudieran brindar.

La macro que llevo hasta ahora, sin ningún resultado :'( , es la siguiente:

Sub CopiaCompara()
Sheets("PLANT").Select
Dim Comprobar, Contador
Comprobar = True: Contador = 0 ' Inicializa variables.
Do ' Bucle externo.
Do While Contador < 65000 ' Bucle interno.
Contador = Contador + 1 ' Incrementa el contador.
If Range("A" & Contador).Value <> "" Then ' Si la condición es verdadera.
a = Range("A" & Contador).Value
b = Range("B" & Contador).Value
c = Range("C" & Contador).Value
d = Range("D" & Contador).Value
e = Range("E" & Contador).Value
f = Range("F" & Contador).Value
Sheets("BUS_FINAL").Select
Do ' Bucle externo.
Do While Contador2 < 65000 ' Bucle interno.
Contador2 = Contador2 + 1 ' Incrementa el contador.
If Range("A" & Contador2).Value <> "" Then ' Si la condición es verdadera.
a2 = Range("A" & Contador2).Value
b2 = Range("B" & Contador2).Value
g = Range("G" & Contador2).Value
h = Range("H" & Contador2).Value
i = Range("I" & Contador2).Value
j = Range("J" & Contador2).Value
If Range("A" & Contador2).Value = a And Range("B" & Contador2).Value = b Then
Range("G" & Contador2).Value = c
Range("H" & Contador2).Value = d
Range("I" & Contador2).Value = e
Range("J" & Contador2).Value = f
Else
Range("G" & Contador2).Value = "0.0"
Range("H" & Contador2).Value = "0.0"
Range("I" & Contador2).Value = "0.0"
Range("J" & Contador2).Value = "0.0"
End If
Else
Comprobar = False ' Establece el valor a False.
Exit Do ' Sale del bucle interno.
End If
Loop
Loop Until Comprobar = False ' Sale inmediatamente
Sheets("PLANT").Select
Else
Comprobar = False ' Establece el valor a False.
Exit Do ' Sale del bucle interno.
End If
Loop
Loop Until Comprobar = False ' Sale inmediatamente
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Macro excel comparar columnas y luego copiar y pegar

Publicado por Armando (126 intervenciones) el 17/09/2011 07:25:48
Puede hacerse con buscarv.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Macro excel comparar columnas y luego copiar y pegar

Publicado por Xiomara (14 intervenciones) el 17/09/2011 21:27:04
El problema es que debo realizarlo como macro :(
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Macro excel comparar columnas y luego copiar y pegar

Publicado por Xiomara (14 intervenciones) el 17/09/2011 21:37:52
Y lo que sucede es que con este código me soluciona solo una parte, es decir, a los primero valores que son iguales si me copia y me pega los valores relacionados a la HOJA1, pero ya no me lo sigue haciendo con los valores que siguen coincidiendo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Macro excel comparar columnas y luego copiar y pegar

Publicado por Armando (126 intervenciones) el 19/09/2011 14:47:26
En la macro puede usarse buscarv y es mas rapido que loop.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Macro excel comparar columnas y luego copiar y pegar

Publicado por Harold (1 intervención) el 09/02/2016 23:17:45
Necesito comparar columnas de diferentes hojas en un libro de excel por un código común y tomar un dato de cada una cuando coincidan, los que no coincidan deben quedar marcados para luego filtrarlos.
Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Macro excel comparar columnas y luego copiar y pegar

Publicado por alejandro (1 intervención) el 16/10/2011 22:33:58
tel vez les pueda gustar este excel con un macro sencillo, nota: se necesita tener abierto todos los excels. saludos :)

http://www.megaupload.com/?d=6B6NH4E0
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar