Mit diesem Sheet wird eine Lösung geliefert, wie es sich einrichten lässt, dass Zahlungen nach einem bestimmten Intervall und einem beliebigen Startmonat möglich sind.

Neben der Summe ist es notwendig dieses Intervall einzutragen. Zahlung alle n Monate. Der Start der ersten Zahlung kann beliebig gesetzt werden.

Eine Erklärung des programmierten Makros findet sich im entsprechenden Tab.

 quartal

Es gibt eine andere Lösung, wie mit Bordmitteln, also ohne Programmierung, dieses Problem gelöst werden kann. Allerdings ist die Lösung nicht ganz so komfortabel, wie die programmierte Lösung:
https://www.time4joomla.de/ms-excel/145-quartals-anzeigen-alle-n-monate-rest.html

 

Ein kleines Tutorial für Programmier--Unkundige und wo der Code hinkopiert werden kann:

Wohin mit dem Code

 

Dokumentation
Code

 qusumme

Diese Summe wird alle n Monatein in die Tabelle eingetreten.

 

 

quintervall

Mit dem Intervall wird angegeben, alle wieviele Monate die Summe eingetragen werden soll.
Intervall = 1 bedeutet jeden Monat.

 

 

qustartmonat

Da auch ein vierteljährlicher Rhythmus nicht immer im März beginnt, kann (muss) hier der Startmonat eingetragen werden. Von diesem Startmonat geht es dann im voreingestellten Intervall entsprechend weiter.

 

 

 

 Sub Intervalle()
'Tastaturkürzel: Strg+i

Dim intIntervall As Integer
Dim intZeilen As Integer
Dim intSpalten As Integer
Dim boolStart As Boolean

boolStart = False

'Größe der Tabelle finden
Range("A2").Select
intZeilen = ActiveSheet.UsedRange.Rows.Count
intSpalten = ActiveSheet.UsedRange.Columns.Count

'Inhalte leeren
Range(Cells(3, 5), Cells(intZeilen, intSpalten)).ClearContents

'neu beschreiben
For zeile = 3 To intZeilen
For spalte = 5 To intSpalten
If Cells(2, spalte).Value = Cells(zeile, 4).Value And boolStart = False Then
Cells(zeile, spalte).Value = Cells(zeile, 2).Value
boolStart = True
intIntervall = Cells(zeile, 3).Value
For i = spalte To intSpalten Step intIntervall
Cells(zeile, i).Value = Cells(zeile, 2).Value
Next i
End If
Next spalte
boolStart = False
Next zeile
End Sub

Das Makro selber ist mit dem Tastaturkürzel Strg+i ausführbar.

Mit Range("A2").Selectwird die eigentliche Tabelle erfasst und mit den nachfolgenden zwei Zeilen wird die maximale Anzahl der Zeilen und Spalten ermittelt. Damit ist es egal, wie umfangreich Ihre Tabelle ist. Entscheidend ist allerdings, dass sie in "A2" beginnt.

Zunächst muss der Inhalt geleert werden, da sonst bei Änderung des Intervalls oder Startmonats die alten Werte stehen bleiben.

Danach wird der Contentbereich neu beschrieben mit den entsprechenden Werten.

Der erste Teil der If-Abfrage -If Cells(2, spalte).Value- fragt den Spaltennamen, den Monat ab. Außerdem wird noch ein Boolean-Wert mitgegeben:boolStart = True. Dazu gleich. Ist der Spaltenname identisch mit dem Startmonat der Zeile, wird zuerst das Intervall abgefragt und der Boolean-Wert auf True gesetzt. In der kleinen inneren Schleife werden nun im Intervall die einzelnen Spalten mit dem Summenwert beschrieben. Da wir in der mittleren Schleife jeweils eine Spalte weiterspringen, ist es nun erforderlich, dass wir nach einem Jahr nicht wieder beim Startmonat beginnen. Deswegen der Boolean-Wert. Der verhindert ein Neustarten der Quartale.

Ein Beispiel dazu: Angenommen Sie haben ein Intervall von 11 eingestellt und den Startmonat auf März gelegt. März plus 11 Monate bedeutet, dass die nächste Summe im Februar erscheint. Ohne den Boolean-Wert würde nun im März gleich die nächste Summe gesetzt. Also nicht erst wieder nach 11 Monaten, wie es richtig wäre, sondern gleich einen Monat später und dann erst wieder in 11 Monaten. Der Boolean-Wert verhindert dieses und setzt wirklich konsequent alle 11 Monate den Wert in die Tabelle.