Hallo Rainer,
c ist größer als 4, die 5 wird angezeigt und die Schleife
beendet.
nö
erst nach Anzeige von 8 wird die Schleife verlassen.
@Lukesch, das ist schon verdammt übler Code, zwar winzig, aber sehr verschlungen in sich mit seinen von einander abhängigen Variablen.
Zur Lösung von sonem Unsinn, schnapp dir nen Zettel und einen Kugelschreiber, dann mache eine Tabelle wo oben die variablennamen, hier a,b,c usw. stehen
Dann trage untendrunter in der Zeile die Startwerte der Variablen ein wenn sie in deine while-Schleife reinkommen.
Danach achte einzig auf das was in der while-Schleife steht, hier ist das:
d = d + b
b = c
c = d
MsgBox (b + c)
Dann trägst du in der D-Saplte ein was der d-Wert und der B-Wert „obendrüber“ zusammen ergeben, dann in die b-Spalte den c-Weret von „obendrüber“, in der C-Spalte dann den d-Wert von „obendrüber“.
In der Spalte die dann dem MSGBOx entspricht, trägst du die Summe der b+c-Spalten ein.
Dies machste dann für den 2ten, 3ten usw. Durchlauf…
Dann hast du dieses Bild auf deinem Blatt:
Tabellenblatt: [Mappe1]!Tabelle1
│ A │ B │ C │ D │ E │ F │
──┼───┼───┼───┼───┼───────────┼───────┤
1 │ a │ b │ c │ d │ Erg (b+c) │ │
──┼───┼───┼───┼───┼───────────┼───────┤
2 │ 4 │ 0 │ 0 │ 1 │ │ Start │
──┼───┼───┼───┼───┼───────────┼───────┤
3 │ 4 │ 0 │ 1 │ 1 │ 1 │ Ende1 │
──┼───┼───┼───┼───┼───────────┼───────┤
4 │ 4 │ 1 │ 1 │ 1 │ 2 │ ende2 │
──┼───┼───┼───┼───┼───────────┼───────┤
5 │ 4 │ 1 │ 2 │ 2 │ 3 │ Ende3 │
──┼───┼───┼───┼───┼───────────┼───────┤
6 │ 4 │ 2 │ 3 │ 3 │ 5 │ Ende4 │
──┼───┼───┼───┼───┼───────────┼───────┤
7 │ 4 │ 3 │ 5 │ 5 │ 8 │ Ende5 │
──┴───┴───┴───┴───┴───────────┴───────┘
Tabellendarstellung erreicht mit dem Code in FAQ:2363
Gruß
Reinhard