xigora9
unread,Sep 19, 2011, 3:11:15 AM9/19/11You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to
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