AW: Zahlung dem Fälligkeitsmonat zuordnen
15.08.2005 23:29:49
Erich
Hallo Bernd,wenn deine Ausgabenliste so aussieht:
_|___A___|_____B_____|______C_______|________D________|
1|Betrag |Start |alle x Monate |für |
2| 500| 01.08.2004| 3|was auch immer |
3| 77| 01.05.2005| 1|Miete |
4| 1111| 01.03.2004| 12|Kfz-Versicherung |
5| 33000| 01.10.2005| |neues Auto |
dann erstellt das folgende Makro ein neues Tabellenblatt mit den Ausgaben pro Monat. Trifft das in etwa deine Vorstellungen?
Sub Ausgaben_in_Monate()
Const vonJ = 2004, bisJ = 2007
Dim jj%, mm%, zz&, Ausg As Worksheet
Set Ausg = ActiveSheet
' ------------------------------------------- neue Monatstabelle anlegen
Worksheets.Add after:=Sheets(1)
Range("A1:C1") = Split("Jahr Monat Summe")
Rows(1).HorizontalAlignment = xlCenter
Columns("A").HorizontalAlignment = xlCenter
Columns("B").NumberFormat = "mmmm"
zz = 1
For jj = vonJ To bisJ
For mm = 1 To 12
zz = zz + 1
Cells(zz, 1) = jj
Cells(zz, 2) = Format(DateSerial(jj, mm, 1), "MMMM")
Next mm
Next jj
' -------------------------------------- Ausgaben in Monatstab. addieren
With Ausg
zz = 1
While Not IsEmpty(.Cells(zz + 1, 1))
zz = zz + 1
mm = (Year(.Cells(zz, 2)) - vonJ) * 12 + Month(.Cells(zz, 2)) + 1
Cells(mm, 3) = Cells(mm, 3) + .Cells(zz, 1)
If .Cells(zz, 3) > 0 Then
mm = mm + .Cells(zz, 3)
While Not IsEmpty(Cells(mm, 1))
Cells(mm, 3) = Cells(mm, 3) + .Cells(zz, 1)
mm = mm + .Cells(zz, 3)
Wend
End If
Wend
End With
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort