検証・VBのFor文の終値が変数の場合

以下のようにコードを記述

Dim iEnd As Integer
Dim iResult As Integer
    iEnd = 5
    iResult = 0
    For i = 1 To iEnd
        iEnd = 0
        iResult = iResult + 1
    Next
    MsgBox "ループ回数は" & Str(iResult), vbInformation, "結果発表"

実行結果

どうやら終値に変数を使用した場合、ループに入った時のものを記憶して使っているようです。途中で変わろうと知ったこっちゃ無い様子。
他の言語はどうなんだろうか。今まで終わりに変数を当てたことがないのでわからないや。