Sumar celdas por medio de una macro

Buenos días; necesito por favor me ayuden en lo siguiente: Tengo una hoja donde capturo los datos como: Fecha, Proveedor y monto, lo que deseo es calcular el total que se le adeuda a cada proveedor y saber si el monto está vencido o por vencerse. Ejemplo: Tengo la siguiente tabla

Fecha     Proveedor    Monto  Días Crédito

31/12/11  American    1769       15

28/12/11  Bordados    380         15

21/10/11  Bordados    280         15

10/02/12  Bordados    750         15

y lo que deseo es pasar a otra hoja el resultado de las sumas sin fechas, es decir, el resultado seria unas cuentas por pagar, entonces quedaría:

                              Montos

Proveedor    Vencido      vencer

American        1769

Bordados          660          750

1 respuesta

Respuesta
1

Ok en un modulo pegas este macro:

Sub resumen()
'4c7569735f50
Application.ScreenUpdating = False
Sheets(2).Range("A:C").Clear
Sheets(1).Select ' selecciona la hoja1
Range("B2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
ActiveSheet.Next.Select
[A1] = "Proveedor"
[b1] = "Vencido"
[c1] = "Vencer"
Range("A2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Columns("A:A").Select
ActiveSheet.Range("A:A").RemoveDuplicates Columns:=1, Header:=xlNo
Range("A1").Select
'realiza suma
Dim b As Long
Dim v As Long
b = Application.WorksheetFunction.CountA(Sheets(1).Range("a:A"))
v = Application.WorksheetFunction.CountA(Sheets(2).Range("a:A"))
If b <= 1 Then Application.ScreenUpdating = True: Exit Sub
Dim base As Range
Dim resumen As Range
For Each resumen In Sheets(2).Range("A2:" & "A" & v)
For Each base In Sheets(1).Range("B2:" & "B" & b)
If resumen = base And base.Offset(0, -1) < Date Then _
resumen.Offset(0, 1) = resumen.Offset(0, 1) + base.Offset(0, 1)
If resumen = base And base.Offset(0, -1) >= Date Then _
resumen.Offset(0, 2) = resumen.Offset(0, 2) + base.Offset(0, 1)
Next
Next
Set base = Nothing
Set resumen = Nothing
Application.ScreenUpdating = True
MsgBox "Resumen Completado", vbInformation
End Sub

El macro se llama resumen

Este macro considera que tu base esta en la hoja1 desdé la celda a1 en donde la primera fila son tus rótulos.

El resumen lo dejara en la hoja2

Puse a funcionar la macro en un libro aparte, y funciona muy bien, ahora voy hacer la adaptación al libro que tengo haber que tal me sale, para cualquier duda espero contar contigo. Mil gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas