Te anexo la macro para realizar la sumatoria. Debes crear una hoja llamada "Resumen".
La información en las hojas 2010,2011,2012,2013 y 2014, supongo que la tienes de esta forma:
La información en la hoja "Resumen" te quedará como la siguiente imagen:
En la hoja Resumen pon en la celda A1 y B1 los títulos: "Número Cliente" y "Descripción Cliente"
Sub Sumatorio()
'Por.Dante Amor
Application.ScreenUpdating = False
Set h1 = Sheets("Resumen")
uf = h1.Range("B" & Rows.Count).End(xlUp).Row + 1
uc = h1.Cells(1, Columns.Count).End(xlToLeft).Column + 1
h1.Range(h1.Cells(2, 1), h1.Cells(uf, uc)).ClearContents
h1.Range(h1.Cells(1, 3), h1.Cells(1, uc)).ClearContents
'
For Each h In Sheets
If h.Name <> h1.Name Then
For i = 2 To h.Range("A" & Rows.Count).End(xlUp).Row
Set b = h1.Columns("A").Find(h.Cells(i, "A"), LookAt:=xlWhole)
If Not b Is Nothing Then
Set c = h1.Rows(1).Find(h.Name)
If Not c Is Nothing Then
uc = c.Column
Else
uc = h1.Cells(1, Columns.Count).End(xlToLeft).Column + 1
h1.Cells(1, uc) = h.Name
End If
h1.Cells(b.Row, uc) = h1.Cells(b.Row, uc) + h.Cells(i, "C")
Else
Set c = h1.Rows(1).Find(h.Name)
If Not c Is Nothing Then
uc = c.Column
Else
uc = h1.Cells(1, Columns.Count).End(xlToLeft).Column + 1
h1.Cells(1, uc) = h.Name
End If
u = h1.Range("A" & Rows.Count).End(xlUp).Row + 1
h1.Cells(u, "A") = h.Cells(i, "A")
h1.Cells(u, "B") = h.Cells(i, "B")
h1.Cells(u, uc) = h1.Cells(u, uc) + h.Cells(i, "C")
End If
Next
End If
Next
uc = h1.Cells(1, Columns.Count).End(xlToLeft).Column + 1
h1.Cells(1, uc) = "Total"
For i = 2 To h1.Range("A" & Rows.Count).End(xlUp).Row
h1.Cells(i, uc) = Application.Sum(h1.Range(h1.Cells(i, "C"), h1.Cells(i, uc - 1)))
Next
'
uf = h1.Range("A" & Rows.Count).End(xlUp).Row + 1
h1.Cells(uf, "B") = "Total"
h1.Range("C" & uf) = "=SUM(C2:C" & uf - 1 & ")"
h1.Range("C" & uf).AutoFill h1.Range(h1.Cells(uf, "C"), h1.Cells(uf, uc)), xlFillDefault
Application.ScreenUpdating = True
MsgBox "Sumatorio total por año", vbInformation, "TERMINADO " & Date
End Sub
Sigue las Instrucciones para un botón y ejecutar la macro
- Abre tu libro de Excel
- Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
- En el menú elige Insertar / Módulo
- En el panel del lado derecho copia la macro
- Ahora para crear un botón, puedes hacer lo siguiente:
- Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
- Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
- Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona: Tamaño y Propiedades. En la ventana que se abre selecciona la pestaña: Propiedades. Desmarca la opción “Imprimir Objeto”. Presiona “Cerrar”
- Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona: Sumatorio
- Aceptar.
- Para ejecutarla dale click a la imagen.
También te anexo mi archivo con la macro para que revises la estructura y contenido de las hojas, puedes descargar el archivo en el siguiente enlace:
https://www.dropbox.com/s/y1ueljizn0i3yy7/sumatorio.xlsm?dl=0