For Each...Next 陳述式
語法
For EachelementIngroup
[ statements ]
[ Exit for ]
[ statements ]
下一個 [ 專案 ]
For...每。。。下一個語句語法包含下列部分:
部分 | 描述 |
---|---|
元素 | 此為必要動作。 用來逐一查看集合或陣列元素的變數。 對於集合, 元素 只能是 Variant 變數、泛型物件變數或任何特定的物件變數。 針對陣列, 元素 只能是 Variant 變數。 |
群 | 此為必要動作。 物件集合或陣列的名稱 (使用者 定義型 別) 的陣列除外。 |
陳述式 | 選用。 在 群組中每個項目上執行的一或多個語句。 |
註解
For...如果群組中至少有一個專案,則會輸入每個區塊。 輸入迴圈之後,迴圈中的所有語句都會針對 群組中的第一個項目執行。 如果 群組中有更多專案,迴圈中的語句會繼續針對每個項目執行。 當 群組中沒有其他專案時,迴圈會結束,並繼續執行 Next 語 句後面的 語句。
任何數目的 Exit For 語 句都可以放在迴圈中的任何位置,做為結束的替代方式。 Exit For 通常會在評估某些條件之後使用,例如 If...然後, 和會將控制權傳輸至緊接在 [下一步] 後面的 語句。
您可以巢狀 處理...每。。。下一 個迴圈,方法是放置一個 For...每。。。另 一個內的下一個迴圈。 不過,每個循環 項目 都必須是唯一的。
注意事項
如果您省略 Next 語句中的 元素,執行會繼續,就像包含元素一樣。 如果 Next 語 句在其對應 的 For 語句之前遇到,就會發生錯誤。
您無法使用 For...每。。。下 一個語句具有使用者定義型別的數位,因為 Variant 不能包含使用者定義型別。
範例
此範例使用 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 支援與意見反應。