Macro cruzar 2 hojas y totalizar en hoja2

Tengo 2 hojas donde:

Hoja 1

Registro        TOTAL

1                      10

2                      5

3                      4

4                     10

5                     20

Hoja 2                                                                                                              Total

Numero                         Columna F             G                 H                   I           S

x                                            1                         2                 4                   5           45

z                                            2                          4                                                   15     

y                                            1                                                                               10

k                                            4                          2                                                   15

Conclusión: Se debe implementar una macro excel, donde recorra las columnas F, G;H;I de la hoja2 y busque en la hoja1 y vaya acumulando el TOTAL y colocar el resultado en la columna S de la hoja2., Ver Ejemplo:

Total 45  de la hoja 2 =  sumar el total de la hoja 1 de registro 1+ total registro 2+ Total registro 4 + Total registro 5

2 respuestas

Respuesta
1

H o l a:

Faltó que mencionaras en cuáles columnas están los datos de la hoja1. Y en cuál fila empiezan los datos de la hoja2. Y

La macro supone que las columnas de la hoja1 son la A y B. y que los registros de la hoja2 empiezan en la fila 2.

También la macro supone que en la hoja2 en la columna A tienes siempre un dato.

Si alguno de los datos no es correcto, entonces tengo que cambiar la macro, pero entonces deberás decirme exactamente en dónde tienes tu información.

Sub CruzarHojas()
'Por.Dante Amor
    Set h1 = Sheets("Hoja1")
    Set h2 = Sheets("Hoja2")
    For i = 2 To h2.Range("A" & Rows.Count).End(xlUp).Row
        wsum = 0
        For j = Columns("F").Column To Columns("I").Column
            Set b = h1.Columns("A").Find(h2.Cells(i, j), lookat:=xlWhole)
            If Not b Is Nothing Then
                wsum = wsum + h1.Cells(b.Row, "B")
            End If
        Next
        h2.Cells(i, "S") = wsum
    Next
    MsgBox "Terminado"
End Sub

Respuesta
1

Lo mejor que puedes hacer es una fórmula, así:

=SUMAR.SI.CONJUNTO(B2:B9, A2:A9,"=1", C2:C9,1)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas