VBA-循环语句之Do...Loop
聲明:筆記來源于我要自學網-《Excel VBA基礎教程》-授課講師:曾賢志
Do ... Loop 循環語句,直到滿足某個條件
Sub DoLoop基本示例() Dim a% Do a = a + 1If a > 10 ThenMsgBox a & "終于大于10"Exit DoEnd If Loop End Sub實例應用:將大于等于90分的勾選出來
Sub 判斷成績并打勾() Dim rs% rs = 1 Dors = rs + 1If rs > 10 ThenExit Do '這里也可以寫做Exit sub,因為已經完成了所有判斷,直接就退出整個子過程ElseIf Cells(rs, 2) >= 90 Then Cells(rs, 3) = "√"End If Loop End Sub Sub 循環語句while() '該代碼比上面這個代碼更簡潔 Dim rs% rs = 2 Do While Cells(rs, 2) <> "" '當單元格不等于空時,則循環If Cells(rs, 2) >= 90 Then Cells(rs, 3) = "√"rs = rs + 1 Loop '循環 End Sub Sub 循環語句DOLOOP2() Dim rs% rs = 2 Do Until Cells(rs, 2) = "" '直到單元格為空時,才結束If Cells(rs, 2) >= 90 Then Cells(rs, 3) = "√"rs = rs + 1 Loop '循環 End Sub實例應用:進行隔行填色
Sub 隔行填色實例應用()Dim rs%rs = 2Do Until Sheet1.Range("a" & rs) = ""Sheet1.Range("a" & rs & ":g" & rs).Interior.ColorIndex = 7rs = rs + 2Loop End Subwhile與until不但可以放在Do后面,也可以放在loop后面
事實上有時在循環的最后一行進行判斷,更具有意義
***Do...Loop語法小結***
Do [{While | Until} 表達式]
[執行的一條或多條語句]
[Exit Do]
[執行的一條或多條語句]
Loop
---------------------------------------------------------
while:當這個條件為True時就 循環
until:直到這個條件為True時就 跳出循環
---------------------------------------------------------
或者可以使用下面這種語法:
Do
[執行的一條或多條語句]
[Exit Do]
[執行的一條或多條語句]
Loop [{While | Until}表達式]
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
用Do...Loop循環要注意的幾點:
? ? ?1,While與Until是放在Do后面還是Loop后面,取決于是先判斷再循環,還是先循環再判斷。
? ? ?2,可以在Do...Loop中的任何位置放置任意個數的 Exit Do 語句,隨時跳出 Do...Loop 循環。
? ? ?3,Do...Loop + If...Then + Exit Do 通常結合使用。
? ? ?4,如果Exit Do 使用在嵌套的 Do...Loop 語句中,則 Exit Do 會將控制權轉移到 Exit Do 所在位置的外層循環。
?
總結
以上是生活随笔為你收集整理的VBA-循环语句之Do...Loop的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 能用“收款人支付手续费”戏弄骗子吗?
- 下一篇: JAVA计算机毕业设计高校教材征订管理系