Verstehe Schleifenrechnung nicht
03.06.2005 08:32:05
Sammy
Habe nachstehenden Code geschrieben und verstehe Rechnung der Schleife nicht.
Ausgangsadatum: Optionbeginn: 01.08.2000 und für Optionende: 31.07.2001, Laufzeitoption: 12 Monate.
Dann geht er in die Schleife und soll solange Optionende hochrechnen bis es nach dem DatumHeute liegt.
If DatumEnde <> "00:00:00" Then
If DatumOptionende <= DatumHeute Then
Do While DatumOptionende <= DatumHeute
If Laufzeitoption = "-" Then Exit Do
TagOptionende = Day(.Cells(z, 11))
MonatOptionende = Month(.Cells(z, 11))
JahrOptionende = Year(.Cells(z, 11))
TagOptionende = TagOptionende
MonatOptionende = MonatOptionende + Laufzeitoption
JahrOptionende = JahrOptionende
DatumOptionende = DateSerial(JahrOptionende, MonatOptionende, TagOptionenede)
.Cells(z, 11) = DatumOptionende
Loop
Bei der ersten wiederholung setzt sich das Datum folgendermaßen zusammen:
TagOptionende:31
MonatOptionende:19
JahrOptionende:2001
Beim zusammensetzten macht er dann den 30.06.2002 draus.
Nach meinem verständnis sollte er aber den 31.07.2002 machen, weil:
Tag:31 Monat:19 = Jahr +1 und 7 Monate bleiben über Jahr:2001 +1 =2002
Diese Rechnung funktioniert auch im restlichen Code nur hier nicht.
Wo ist mein Denkfehler?
Viele Grüße
Sammy