共用方式為


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 支援與意見反應