經常地,當編寫代碼時,我們希望將一段代碼執行若干次,我們可以在代碼中使用循環語句來完成這項工作。
循環可分為三類:一類在條件變為 False 之前重復執行語句,一類在條件變為 True 之前重復執行語句,另一類按照指定的次數重復執行語句。
For...Next:指定循環次數,使用計數器重復運行語句
Do...Loop:當條件為 true 或者直到條件為 true 時,運行循環
While…Wend:當條件為True時循環
For Each...Next:對于集合中的每項或數組中的每個元素,重復執行一組語句
For...Next 語句
指定循環次數,使用計數器重復運行語句,語法結構如下:
For counter = start To end [Step step] 'counter 用做循環計數器的數值變量, start:counter的初值, end:counter的終值, step:counter的步長 [statements] [Exit For] '退出循環 [statements]Next
Dim Count:Count = 0 '定義一個變量,并賦值為0For i = 1 To 10 '循環10次 ,For 語句規定計數變量以及它的開始值和結束值 Count = Count + 1Next 'Next 語句會以 1 作為步長來遞增變量iMsgBox Count '輸出10 '退出循環:Exit For 語句用于在計數器達到其終止值之前退出 For...Next 語句。Dim Count:Count = 0 '定義一個變量,并賦值為0For i = 1 To 10 step 2 '循環10次,步長為2,通過使用 Step 關鍵詞,我們可以規定計數變量遞增或遞減的步進值 Count = Count + 1 If Count = 3 Then '當變量Count的值為3時,退出當前循環 Exit For '退出循環 End IfNextMsgBox Count '輸出3
指定循環次數,使用計數器重復運行語句,語法結構如下:
For counter = start To end [Step step] [statements] [Exit For] [statements]Next
主要參數:
counter:用做循環計數器的數值變量。這個變量不能是數組元素或用戶自定義類型的元素。
start:counter的初值。
end:counter的終值。
step:counter的步長。如果沒有指定,則step的默認值為1。
具體示例代碼如下:
For…Next
Dim Count:Count = 0 '定義一個變量,并賦值為0For i = 1 To 10 '循環10次 Count = Count + 1NextMsgBox Count '輸出10
Step設置計數器循環步長
Dim Count:Count = 0 '定義一個變量,并賦值為0For i = 1 To 10 Step 2 '設置計數器步長為2,循環5次 Count = Count + 1NextMsgBox Count '輸出5
退出循環
Exit For 語句用于在計數器達到其終止值之前退出 For...Next 語句。因為通常只是在某些特殊情況下(例如在發生錯誤時)要退出循環,所以可以在 If...Then...Else 語句的 True 語句塊中使用 Exit For 語句。如果條件為 False,循環將照常運行。
Dim Count:Count = 0 '定義一個變量,并賦值為0For i = 1 To 10 '循環10次 Count = Count + 1 If Count = 5 Then '當變量Count的值為5時,退出當前循環 Exit For End IfNextMsgBox Count '輸出5
Do 循環 當(或直到)條件為True時循環
重復執行語句直到條件變為TrueDim Count:Count = 5 '定義一個變量Do Until Count = 0 '直到Count變量為0時,否則一直循環 MsgBox Count Count = Count -1LoopMsgBox "循環結束"Dim Count:Count = 5 '定義一個變量Do MsgBox Count Count = Count -1Loop Until Count = 0 '直到Count變量為0時,否則一直循環MsgBox "循環結束"當條件變為True之前重復執行某語句塊Dim Count:Count = 5 '定義一個變量Do While Count <> 0 '當Count變量為0時,停止循環 MsgBox Count Count = Count -1LoopMsgBox "循環結束"Dim Count:Count = 5 '定義一個變量Do MsgBox Count Count = Count -1Loop While Count <> 0 '當Count變量為0時,停止循環MsgBox "循環結束"Exit Do 語句用于退出 Do...Loop 循環Dim Count:Count = 5 '定義一個變量Do While Count <> 0 '當Count變量為0時,停止循環 MsgBox Count Count = Count -1 If Count = 2 Then '判斷Count變量值是否為2,如果是則退出循環 Exit Do End IfLoopMsgBox "循環結束"
While…Wend 當條件為True時循環
Dim Count:Count = 5 '定義一個變量While Count <> 0 '當Count變量值不等于0,一直循環 MsgBox Count Count = Count -1 WendMsgBox "循環結束"While…Wend 沒有Exit語句,從頭一直循環到尾,若要在中途退出,則需用Do…Loop語句
For Each...Next 語句
For Each...Next 不是將語句運行指定的次數,而是對于數組中的每個元素或對象集合中的每一項重復一組語句。這在不知道集合中元素的數目時非常有用。
Dim Dics '定義一個變量Set Dics = CreateObject("Scripting.Dictionary") '定義一個Dictionary對象Dics.Add "0", "Athens" '為Dictionary對象賦值Dics.Add "1", "Belgrade"Dics.Add "2", "Cairo"For Each Dic in Dics MsgBox Dics.Item(Dic) '循環遍歷,且輸出Dictionary鍵值Next
新聞熱點
疑難解答
圖片精選