2

実行中に for ループのサイズを変更するにはどうすればよいですか? 簡単な例を次に示します。

Sub ResizeLoop()
    last = 5
    For i = 0 To last
        Debug.Print i
        last = 3
    Next
End Sub

最初のパスでi=0、3 に設定してサイズ変更を試みlastますが、それでも '5' までずっと実行されます。


即時ウィンドウ:

0
1
2
3
4
5

実行中にループを再定義できない場合は、別の方法があります。

4

1 に答える 1

3

「to」はループの最初で一度評価されるからです。whileまたはdo while代わりに使用します。

i = 0
last = 5
do while i <= last
  Debug.Print i
  last = 3
  i = i + 1
loop
于 2013-11-02T00:41:20.797 に答える