【Excel VBA教學】入門-重複處理-Do Until句

VBA Do Until句

前一篇介紹到「Do While句」是符合條件時則進行重複處理;而「Do Until句」則是符合條件時則停止重複處理,例如當儲存格為空值時,則停止重複處理。

Do Until句語法

Do Until 停止條件式
重複處理
Loop

Do Until – 做重複處理,直到符合條件為止
以下讓我們來練習「Do Until句」。

練習Do Until句1-統計列數

輸入巨集

Sub DoUntil句練習()
i = 1
Do Until Cells(i, 1).Value = “”
i = i + 1
Loop
MsgBox “共有” & i – 1 & “列”
MsgBox “共有” & i – 2 & “筆資料”
End Sub

語法說明

Do Until Cells(i, 1).Value = “”
‘當儲存格(i列1欄)等於空值時,則停止重複處理;而不等於空值時,則進行重複處理。
i = i + 1
‘增加一列,下一列繼續確認是否符合條件做重複處理。
MsgBox Total “共有” & i – 1 & “列”
‘顯示出「共有i-1列」的訊息方塊,因最後「i+1」了,扣除「1」則為總列數。
MsgBox “共有” & i – 2 & “筆資料”
‘顯示出「共有i-2列」的訊息方塊,同上但因最上方有標題(1)列,扣除後則為總筆數資料。

執行巨集

點選「開發人員」-「巨集」或按下「Ctrl」+「F8」快捷鍵,並「執行」巨集。

執行後則快速統計出共有幾列」與「共有幾筆資料」。

練習Do Until句2-非空白語法

輸入巨集

Sub DoUntil句練習2()
i = 1
Do Until IsEmpty(Cells(i, 1).Value)
i = i + 1
Loop
MsgBox “共有” & i – 1 & “列”
MsgBox “共有” & i – 2 & “筆資料”
End Sub

語法說明

Do Until IsEmpty(Cells(i, 1).Value)
‘當儲存格(i列1欄)為空白儲存格時,則停止重複處理;而不等於空白儲存格時,則進行重複處理。

執行巨集

點選「開發人員」-「巨集」或按下「Ctrl」+「F8」快捷鍵,並「執行」巨集。

執行後則快速統計出共有幾列」與「共有幾筆資料」。

練習DoUntil句3-數值判定

輸入巨集

Sub DoUntil句練習3()
i = 1
Do Until IsEmpty(Cells(i, 1).Value)
If Cells(i, 6).Value < 0.95 Then
Cells(i, 7).Value = “低於水準”
End If
i = i + 1
Loop
End Sub

語法說明

If Cells(i, 6).Value < 0.95 Then
Cells(i, 7).Value = “低於水準”
‘當儲存格(i列6欄)的值小於95%時
‘儲存格(i列7欄)的值顯示「低於水準」

執行巨集

點選「開發人員」-「巨集」或按下「Ctrl」+「F8」快捷鍵,並「執行」巨集。

執行後則快速判定良率儲存格(第6欄)的值,若小於95%則於第7欄儲存格顯示低於水準」。

其他章節

Part1 -【Excel VBA教學】入門-重複處理-For迴圈
Part2 -【Excel VBA教學】入門-重複處理-For Each句
Part3 -【Excel VBA教學】入門-重複處理-Do While句
Part4 -【Excel VBA教學】入門-重複處理-Do Until句

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *