ich hab folgenden Code, der auch funktioniert aber ich finde ihn zu unprofessionell. Wer kann mir einen Vorschlag machen, wie ich auf das Ende des Monats komme und wie ich das ganze in eine Schleife packe?
Hintergrund ist, ich habe zwei Daten: Zinsbeginn und Zinsende. Jetzt muss ich jeden Monat dazwischen mit Beginn und Ende auflisten, weil für jeweils ein Monat die Zinsen berechnet werden.
'Zinsmonate anzeigen
txtAnfangZinsmonat1 = frmZinsen.txtBeginnVerzinsung.Value
txtZinsmonat1Ende = DateSerial(Year(txtAnfangZinsmonat1), Month(txtAnfangZinsmonat1) + 1, (Day(txtAnfangZinsmonat1) - 1))
If txtZinsmonat1Ende > "" And txtZinsmonat1Ende < txtEndeVerzinsung Then
txtAnfangZinsmonat2 = DateSerial(Year(txtAnfangZinsmonat1), Month(txtAnfangZinsmonat1) + 1, (Day(txtAnfangZinsmonat1)))
txtZinsmonat2Ende = DateSerial(Year(txtAnfangZinsmonat2), Month(txtAnfangZinsmonat2) + 1, (Day(txtAnfangZinsmonat2) - 1))
End If
If txtZinsmonat2Ende > "" And txtZinsmonat2Ende < txtEndeVerzinsung Then
txtAnfangZinsmonat3 = DateSerial(Year(txtAnfangZinsmonat2), Month(txtAnfangZinsmonat2) + 1, (Day(txtAnfangZinsmonat2)))
txtZinsmonat3Ende = DateSerial(Year(txtAnfangZinsmonat3), Month(txtAnfangZinsmonat3) + 1, (Day(txtAnfangZinsmonat3) - 1))
End If
If txtZinsmonat3Ende > "" And txtZinsmonat3Ende < txtEndeVerzinsung Then
txtAnfangZinsmonat4 = DateSerial(Year(txtAnfangZinsmonat3), Month(txtAnfangZinsmonat3) + 1, (Day(txtAnfangZinsmonat3)))
txtZinsmonat4Ende = DateSerial(Year(txtAnfangZinsmonat4), Month(txtAnfangZinsmonat4) + 1, (Day(txtAnfangZinsmonat4) - 1))
End If
If txtZinsmonat4Ende > "" And txtZinsmonat4Ende < txtEndeVerzinsung Then
txtAnfangZinsmonat5 = DateSerial(Year(txtAnfangZinsmonat4), Month(txtAnfangZinsmonat4) + 1, (Day(txtAnfangZinsmonat4)))
txtZinsmonat5Ende = DateSerial(Year(txtAnfangZinsmonat5), Month(txtAnfangZinsmonat5) + 1, (Day(txtAnfangZinsmonat5) - 1))
End If
If txtZinsmonat5Ende > "" And txtZinsmonat5Ende < txtEndeVerzinsung Then
txtAnfangZinsmonat6 = DateSerial(Year(txtAnfangZinsmonat5), Month(txtAnfangZinsmonat5) + 1, (Day(txtAnfangZinsmonat5)))
txtZinsmonat6Ende = DateSerial(Year(txtAnfangZinsmonat6), Month(txtAnfangZinsmonat6) + 1, (Day(txtAnfangZinsmonat6) - 1))
End If
If txtZinsmonat6Ende > "" And txtZinsmonat6Ende < txtEndeVerzinsung Then
txtAnfangZinsmonat7 = DateSerial(Year(txtAnfangZinsmonat6), Month(txtAnfangZinsmonat6) + 1, (Day(txtAnfangZinsmonat6)))
txtZinsmonat7Ende = DateSerial(Year(txtAnfangZinsmonat7), Month(txtAnfangZinsmonat7) + 1, (Day(txtAnfangZinsmonat7) - 1))
End If
If txtZinsmonat7Ende > "" And txtZinsmonat7Ende < txtEndeVerzinsung Then
txtAnfangZinsmonat8 = DateSerial(Year(txtAnfangZinsmonat7), Month(txtAnfangZinsmonat7) + 1, (Day(txtAnfangZinsmonat7)))
txtZinsmonat8Ende = DateSerial(Year(txtAnfangZinsmonat8), Month(txtAnfangZinsmonat8) + 1, (Day(txtAnfangZinsmonat8) - 1))
End If
If txtZinsmonat8Ende > "" And txtZinsmonat8Ende < txtEndeVerzinsung Then
txtAnfangZinsmonat9 = DateSerial(Year(txtAnfangZinsmonat8), Month(txtAnfangZinsmonat8) + 1, (Day(txtAnfangZinsmonat8)))
txtZinsmonat9Ende = DateSerial(Year(txtAnfangZinsmonat9), Month(txtAnfangZinsmonat9) + 1, (Day(txtAnfangZinsmonat9) - 1))
End If
If txtZinsmonat9Ende > "" And txtZinsmonat9Ende < txtEndeVerzinsung Then
txtAnfangZinsmonat10 = DateSerial(Year(txtAnfangZinsmonat9), Month(txtAnfangZinsmonat9) + 1, (Day(txtAnfangZinsmonat9)))
txtZinsmonat10Ende = DateSerial(Year(txtAnfangZinsmonat10), Month(txtAnfangZinsmonat10) + 1, (Day(txtAnfangZinsmonat10) - 1))
End If
If txtZinsmonat10Ende > "" And txtZinsmonat10Ende < txtEndeVerzinsung Then
txtAnfangZinsmonat11 = DateSerial(Year(txtAnfangZinsmonat10), Month(txtAnfangZinsmonat10) + 1, (Day(txtAnfangZinsmonat10)))
txtZinsmonat11Ende = DateSerial(Year(txtAnfangZinsmonat11), Month(txtAnfangZinsmonat11) + 1, (Day(txtAnfangZinsmonat11) - 1))
End If
If txtZinsmonat11Ende > "" And txtZinsmonat11Ende < txtEndeVerzinsung Then
txtAnfangZinsmonat12 = DateSerial(Year(txtAnfangZinsmonat11), Month(txtAnfangZinsmonat11) + 1, (Day(txtAnfangZinsmonat11)))
txtZinsmonat12Ende = DateSerial(Year(txtAnfangZinsmonat12), Month(txtAnfangZinsmonat12) + 1, (Day(txtAnfangZinsmonat12) - 1))
End If
Vielen Dank für jeden Tip
Liebe Grüße aus Würzburg
Anna