1. 程式人生 > 其它 >VBA 關於for迴圈和變數的測試, for 迴圈的自變數i會停留在i+1,自變數會基於最新變化改變

VBA 關於for迴圈和變數的測試, for 迴圈的自變數i會停留在i+1,自變數會基於最新變化改變

技術標籤:VBA

1 for迴圈的自變數i會停留在i+1

  • for迴圈結束後,如果繼續檢視i
  • 會發現i 會停留在i+1, 但不會停留在i+1之外更大的數字
Sub test14()

For i = 1 To 10  '迴圈結束會挪到下一個i,且停住!
   Debug.Print i
Next
   Debug.Print i
   Debug.Print i
   Debug.Print i

End Sub

2 for迴圈的自變數i會一直往前走

  • for迴圈中,如果自變數被改變了,自變數會接著當前的i值繼續往前走
  • 下面時個錯誤的 for 迴圈,自己寫錯了,將錯就錯看看 i的變化

2.1 下面這個是 for 迴圈過程中,加速i的增長,都是根據實際的i迴圈

Sub test13()

For i = 1 To 10  '錯誤的 for 迴圈,看出i是一個個拿出,已擁有了會到下一個。
   Debug.Print "前i=" & i
   i = i + 1
   Debug.Print "後i=" & i
Next

End Sub

2.2 下面這個是for 迴圈過程中,減慢i的增長,確實都有效

Sub test15()

For i = 1 To 20 Step 2 '錯誤的 for 迴圈,看出i是一個個拿出,已擁有了會到下一個。
   Debug.Print "前i=" & i
   i = i - 1
   Debug.Print "後i=" & i
Next

End Sub