VBA For Loop 教學:循環結構詳細解析

學習如何使用VBA中的For Loop。在這個教學中,我們將示範基礎語法、應用實例及最佳實踐,幫助你在Excel中自動化重複性任務。

讓資訊整合更靈活

記錄、協作、成長 — Notion帶來比Excel更靈活的工作方式!
免費使用

200+模板自動化工作流程

從數據到成果,只需一步 — 用Monday代替Excel,效率倍增!
免費使用

AI智能團隊協作

AI驅動的ClickUp超越Excel,讓工作更精準快速!
免費使用

什麼是VBA中的For Loop?

For Loop 在VBA(Visual Basic for Applications)中是一種用來重複執行某段代碼指定次數的控制結構。通過使用 For…Next 可以有效地迴圈一系列任務,例如處理 Excel 工作表中的每一行或每一個單元格。

基本語法

For Loop 的基本語法如下:

For 變數 = 開始值 To 結束值 [Step 增量]
    ' 執行的步驟
Next 變數

其中:

  • 變數: 控制迴圈的變數。
  • 開始值: 迴圈變數的初始值。
  • 結束值: 迴圈變數的最終值。
  • Step 增量: 變數在每次迴圈後的增量,默認為1。

範例演示

以下是一個簡單的範例,展示如何使用 For Loop 從1迴圈到10,並將每次迴圈的結果顯示在訊息框中:

Sub SimpleForLoop()
    Dim i As Integer
    For i = 1 To 10
        MsgBox "這是第 " & i & " 次迴圈"
    Next i
End Sub

使用 Step 指定增量

在某些情況下,你可能需要修改每次迴圈後變數的增量。這時可以使用 Step 關鍵字。例如,從1到10的迴圈中,每次增加2:

Sub StepForLoop()
    Dim i As Integer
    For i = 1 To 10 Step 2
        MsgBox "這是第 " & i & " 次迴圈"
    Next i
End Sub

這段代碼將會顯示1, 3, 5, 7, 9。

用 For Loop 遍歷範圍

例子:遍歷 Excel 工作表中的單元格

For Loop 不僅可以用來簡單地迴圈數字。在 Excel VBA 中,它經常用來遍歷工作表中的單元格。例如,將A列中的每個單元格設為 “Hello”:

Sub FillCells()
    Dim i As Integer
    For i = 1 To 10
        Cells(i, 1).Value = "Hello"
    Next i
End Sub

這段代碼將A1到A10的單元格都設為 “Hello”。

嵌套的 For Loop

有時我們需要在迴圈中包含另一個迴圈,即嵌套迴圈。例如,遍歷一個2維範圍:

Sub NestedForLoop()
    Dim i As Integer, j As Integer
    For i = 1 To 3
        For j = 1 To 3
            Cells(i, j).Value = "R" & i & "C" & j
        Next j
    Next i
End Sub

這段代碼在A1:C3的範圍內填入類似 “R1C1”, “R1C2”, 等等的值。

結束 For Loop

在某些情況下,我們可能需要提前退出 For Loop,可以使用 Exit For 關鍵字。例如,找到特定值後退出迴圈:

Sub ExitForLoop()
    Dim i As Integer
    
    For i = 1 To 10
        If Cells(i, 1).Value = "Stop" Then
            MsgBox "在第 " & i & " 行找到 'Stop'"
            Exit For
        End If
    Next i
End Sub

總結

VBA中的 For Loop 是一個強大的工具,能夠幫助我們輕鬆地重複執行一系列操作。無論是簡單的數字迴圈,還是複雜的嵌套迴圈,或是在需要時提前退出,掌握 For Loop 能顯著提高我們的編程效率。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *