2018年12月5日 星期三

[Excel VBA 學習筆記] 如何使用 For Next 重複執行程式碼,使用方法及範例

在 Excel VBA 程式流程控制方法,有循序結構、選擇結構、重複結構(迴圈)三種,而重複結構(迴圈),常見的有 For … Next、Do … Loop 兩種方法,今天就來學習 For … Next 這個方法,使用 For … Next 的語法如下:

For 計數變數 = 起始值 To 最終值 [Step 遞增(減)值]
            程式碼區段1
        [Exit For]
            程式碼區段2
Next

說明:
    (1)Step 值可不寫,預設值為1,正值為遞增,負值為遞減
    (2)Exit For 為配合 If 條件語句來判斷是否提早跳出For迴圈


範例1:計算1加到100的結果為多少,將結果存入第1個工作表的儲存格A2內。

    Sub Sum1to100()
       
       Dim i As Integer,sum As Integer
           
           For i = 1 To 100

                sum = sum +i

           Next
          
       Sheets(1).Range("A2").Value = sum           
         
    End Sub


範例2:計算1加到100的隅數值結果為多少,將結果存入第1個工作表的儲存格A2內。

    Sub Sum1to100()
       
      Dim i As Integer,sum As Integer
           
           For i = 2 To 100 Step 2

                sum = sum +i

           Next
          
      Sheets(1).Range("A2").Value = sum           
         
   End Sub



範例3:計算1加到100的值,若值大於1000就跳出迴圈, 並將結果存入第1個工作表的儲存格A2內。

   Sub Sum1to100()
       
      Dim i As Integer,sum As Integer
           
           For i = 1 To 100

                sum = sum +i
                if sum > 1000 Then Exit For
               
          Next
          
     Sheets(1).Range("A2").Value = sum           
         
   End Sub


範例4:使用雙迴圈製作九九乘法表。

   Sub 九九乘法表()

      Dim i As Integer, j As Integer
           
           For i = 1 To 9

              For j = 1 To 9

                  Sheets(1).Cells(i, j).Value = i & "*" & j & "=" & (i * j)

              Next

           Next         

    End Sub