共用方式為


For Each...Next 陳述式

對陣集合中的每個元素重複一組語句

語法

對於群中的每個元素
[ statements ]
[ 退出 ]
[ statements ]
下一個 [ 元素 ]

那個為......各。。。下一句語法包含以下部分:

部分 描述
要素 此為必要動作。 變用於遍歷集合或陣列的元素。 對於集合, 元素 只能是 變體 變數、一般物件變數,或任何特定物件變數。 對於陣列, 元素 只能是 變體 變數。
此為必要動作。 物件集合或陣列的名稱 (,但使用者 定義型別 的陣列除外) 。
陳述式 選用。 一個或多個對 群組中每個項目執行的語句。

註解

那個為......群中至少有一個元素,則該區塊會被輸入。 迴圈進入後,迴圈中所有語句都會執行 群組中的第一個元素。 若 群組中有更多元素,迴圈中的語句會持續執行。 當 群組中沒有其他元素時,迴圈結束,執行則以 Next 陳述句後的陳述繼續執行。

迴圈中任意數量的 Exit For 陳述句都可以放置,作為退出的替代方式。 Exit For 通常在評估某個條件後使用,例如 If...然後,將控制權轉移到緊接著 Next 的語句。

你可以築巢 ,因為......各。。。接下來 的循環是放置一個 For...各。。。下一個 循環又接一個循環。 然而,每個迴圈 元素 必須是唯一的。

注意事項

如果你在 Next 語句中省略元素,執行會繼續當作包含元素。 如果在對應的 For 陳述之前遇到 Next 陳述句,則會發生錯誤。

你不能用 For...各。。。下一個 陳述,因為變 無法包含使用者定義型別的陣列。

範例

此範例使用「 For Each...」下一個 陳述式是在集合中所有元素的 Text 屬性中搜尋字串「Hello」的存在。 在範例中, MyObject 是一個與文字相關的物件,並且是 集合 MyCollection 中的一個元素。 這兩個名稱僅供插圖使用。

Dim Found, MyObject, MyCollection 
Found = False    ' Initialize variable. 
For Each MyObject In MyCollection    ' Iterate through each element.  
    If MyObject.Text = "Hello" Then    ' If Text equals "Hello". 
        Found = True    ' Set Found to True. 
        Exit For    ' Exit loop. 
    End If 
Next

另請參閱

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應