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
Leer las respuestas