나는 약간의 레거시 코드를 연구 중이었고 새로운 것이고 재미있는 것을 보게되었습니다.VBA의 가변 동작입니다. 동일한 변수가 이중 값을 유지합니다. 방법?
VBA proc에는 변수가 선언되고 할당되어 있습니다. 같은 변수가 For
루프의 반복 변수로 사용됩니다. 루프가 잘 작동하고 올바른 결과를 생성합니다. 어떻게 변수는 동시에 두 값을 유지합니다.) 코드에 의해 지정된 값, b.) For
루프에 할당 된 값 내가 이해하려고하는 것은 방법은 무엇입니까? VBA
의 덜 알려진/숨겨진 기능 중 하나입니까? 아니면 매우 기본적인 개념을 과소 평가하고 놓치고 있습니까? 샘플 코드 및 주석을 참조하십시오.
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
@ Parfait, good one :). 나는 이것이 최선의 방법이 아니라는 것을 알고있다. 그리고 당신의 제안이 있습니다. 나는이 문제에 대한 논리적 인 설명이 있는지 또는 그 결함이 있는지 알아보기 위해이 질문을했다. 감사합니다. – cyboashu