私はいくつかのレガシーコードに取り組んでいて、かなり新しくて面白い何かに出くわしました。VBAでの可変動作。二重の値を保持する同じ変数。どうやって?
VBA procには変数が宣言され、割り当てられています。同じ変数がFor
ループ内の反復変数として使用されます。ループは正常に動作し、正しい結果が得られます。変数は同時に両方の値を保持します。)コードによって割り当てられた値。b)For
ループで割り当てられた値わたしが理解しようとしていることは何ですか?それはVBA
のあまり知られていない/隠された機能の1つですか、私は非常に基本的な概念を忘れすぎて欠落していますか? サンプルコードとコメントを参照してください。
Sub test()
Dim lTest As Long
'/ Assignment here.
lTest = 10
'/ How this loop runs. When I assign lTest=0 in the `For` loop then
'/ shouldn't the loop exit at lTest -1 ? If I don't assign any value to lTest, then
'/ the loop behaves as expected and exits without any iteration.
For lTest = 0 To lTest - 1
Debug.Print lTest
Next
End Sub
ループコマンドでは、指定されたものとは異なる名前のイテレータ変数を使用します。 – Parfait
@パルフェット、いい方:)私はこれがベストプラクティスではないことを知っています。そしてあなたの提案はです。私は、この問題の背後に論理的な説明があるのかどうかを判断するためにこの質問をしました。ありがとう。 – cyboashu