Do...Loop

Do...Loop,中文意思:循環。 短語: active DO-loop 現用DO循環 do-while loop 重覆敘述 inactive DO-loop 不活動DO循環

語句

語法1

當條件為 True 時或條件變為 True 之前重複執行某語句塊。

Do [{While | Until} condition]

 [statements]

[Exit Do]

[statements]

Loop

語法2

也可以使用下面的語法:

Do

[statements]

[Exit Do]

[statements]

Loop [{While | Until} condition]

參數

condition

數值或字元串表達式,其值為 True 或 False。如果 condition 為 Null,則 condition 被當作 False。

statements

conditionTrue 時被重複執行的一條或多條命令。

說明

概要

Exit Do 僅可以用在 Do...Loop 控制語句中,提供另一種退出 Do...Loop 的方法。可以在 Do...Loop 語句中的任何位置放置任意個 Exit DoExit Do 通常與條件判斷語句(如 If...Then )一起使用,將控制傳遞給緊隨在 Loop 語句後面的語句。

當用於嵌套 Do...Loop 中的時候, Exit Do 將控制傳遞給其所在循環的上一層嵌套循環。

下面例子舉例說明如何使用 Do...Loop 語句:

舉例1

Do Until DefResp = vbNo

MyNum = Int (6 * Rnd + 1) ' 產生 1 到 6 之間的隨機數。

DefResp = MsgBox (MyNum & " 想要另一個數嗎?", vbYesNo)

Loop

舉例2

Dim Check, Counter

Check = True: Counter = 0' 初始化變數。

Do ' 外層循環。

Do While Counter<20 ' 內層循環。

Counter = Counter + 1 ' 增加計數器。

If Counter =10 Then ' 如果條件為 True...

Check = False  ' 將標誌值設定為 False。

   Exit Do ' 終止內層循環。

End If

Loop

Loop Until Check = False  ' 立即終止外層循環。

舉例三

test = cint(inputbox("請輸入數字"))

msgbox test

do while test=3

msgbox "你答對了"

loop

test = cint(inputbox("請輸入數字"))

msgbox test

do until test=3

msgbox "你答對了"

loop

所表示的意思不同。

第一個表示 while語句 當用戶輸入的條件為3時執行死循環。輸入其他數字時不執行死循環

第二個語句表示 只有當條件不為3的時候才執行死循環。就是說test=3時不執行死循環。但輸入其他數字就執行死循環。

總結:until 是排除條件。不否和條件的,才執行命令。

while 是只執行條件。只有滿足才執行命令。

相關詞條

相關搜尋

熱門詞條

聯絡我們