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