Tach!
Existiert denn currentRange zu dem Zeitpunkt noch? Beachte, dass dein Code nicht von oben nach unten ausgeführt wird, sondern so wie der Programmablauf in der Gegend rumspringt, zuzüglich der Events, die kreuz und quer auftreten und Code ausführen können.
Naja, genau da ist das Problem. In der function schleife_starten(), bevor ich den Button anklicke, und somit die Funktion weiter() auslöse, gibt mir z.B. alert(currentRange.Rows.Count) die Anzahl der Zeilen in meiner Excel-Tabelle wieder (anhand des Excel-Objektes currentRange). Nur nach dem anklicken (und somit das Auslösen der Funktion weiter()), ist kein Objekt beim Übertragen, mehr vorhanden.
Dann macht irgendwelcher nicht gezeigter Code irgendetwas mit dem currentRange, vermute ich mal stark. Vielleicht sind auch die Scopes anders als du zeigst. Ich kann nur vermuten, dass currentRange im globalen Scope liegt (sprich, eine Eigenschaft von windows ist (oder was auch immer der Ersatz dafür in HTA ist)) und in dem Fall müsste er in der Funtion zu sehen sein.
dedlfix.