Ich hoffe ich verstehe das richtig was du meinst (hat etwas gedauert bis mir klar wurde was du hoffentlich meinst).
Dein Liste := Daten; (i=2) wird sofort wieder hinfällig wenn du danach alle Komponenten von Liste[2] wieder mit anderen Werten überschreibst. In Liste[2] steht ja genau das drin was du in Zeile 15-20 reinschreibst.
Außerdem sehe ich in deinem Beispiel keine Schleife?!?
Sollte es sich um eine FOR-Schleife handeln, macht diese bei dir auch nur einen Durchlauf, weil die Zählvariable bei FOR-Schleifen am Ende immer 1 größer als die Zahl der Durchläufe ist (meine ich zu wissen).