¿Cómo copio los datos de una hoja a otra hoja mediante una condición?

Quisiera y me pudieran orientar como puedo copiar datos de una hoja a otra del mismo libro con una macro tomando como condición códigos iguales que están en ambas hojas en la columna A, es decir que revise ambas hojas y si hay códigos iguales tome el valor de la columna F de la hoja2 y la sume al valor que tiene la columna G de la hoja1.

1 Respuesta

Respuesta
1
Sub sumasi()
fh1 = 1
Do Until Hoja1.Cells(fh1, 1) = ""  'repite hasta que encuentra celda vacia en la columna "A" de la Hoja1
    fh2 = 1
    Do Until Hoja2.Cells(fh2, 1) = "" ' para cada fila de la hoja1 compara con todas las filas de la hoja 2
    If Hoja1.Cells(fh1, 1) = Hoja2.Cells(fh2, 1) Then
        Hoja1.Cells(fh1, "G").Value = Hoja1.Cells(fh1, "G").Value + Hoja2.Cells(fh2, "F").Value
    End If
    fh2 = fh2 + 1
    Loop
    fh1 = fh1 + 1
Loop
End Sub

Ten en cuenta que si vuelves a ejecutar la macro vuelve a sumar otra vez la celda "F" de la hoja 2. 

Si la columna "G" de la hoja1 proviene de operaciones con otras celdas es mejor que sumes la celda "F" al resultado de esas operaciones, es decir si "G4" = "H4" *"J4" debieras poner

..

Hoja1.Cells(fh1, "G").Value = (Hoja1.Cells(fh1, "H").Value * Hoja1.Cells(fh1, "J").Value) + Hoja2.Cells(fh2, "F").Value

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas