農林漁牧網

您現在的位置是:首頁 > 漁業

VBA中重複操作的神器,Do……Loop迴圈語句,你值得擁有它

2022-04-25由 Excel教案 發表于 漁業

do loop死迴圈怎麼退出

Hi,大家好,本專欄將會從零開始和大家用圖文的方式,讓你從零基礎學會VBA!有興趣的小夥伴可以持續關注我,或者在專欄進行檢視學習,願與君攜手共進!

在上一個章節中我們已經學習集合的迴圈和數字的迴圈,那麼有時候我們並不知道我們要具體迴圈的次數,這個時候For—Next迴圈就無能為力啦!其實我們還有一種迴圈可以勝任這個,他就是我們本文要說的Do——Loop迴圈,這個迴圈其實在我們其他的程式語言中均有應用。一起來了解一下他。

VBA中重複操作的神器,Do……Loop迴圈語句,你值得擁有它

Do。。。Loop,顧名思義,他的中文意思就是迴圈的意思,這個非常好理解。這個迴圈有兩種實現方式,即只要或者直到某個條件為真,它們就會重複一系列的語句。只要條件為真,Do…While迴圈就允許你重複某個操作。這2個迴圈的語法如下:

VBA中重複操作的神器,Do……Loop迴圈語句,你值得擁有它

需要我們注意的事情是,當操作VBA時候,一旦遇到這個迴圈時,它首先會判斷條件的真假與否,如果判斷的條件為假,那麼在迴圈內部的語句就不會被執行,VBA將繼續執行關鍵字Loop後面的第一條語句。相反如果條件為真,迴圈裡面的語句則會被一條一條地執行,直到遇到Loop語句。Loop語句會告訴VBA重複這個過程,只要Do語句裡的條件為真的話,他就會一直執行下去。

好啦,已經說了如此之多,我們現在來看看是如何在Excel中間使用Do…While迴圈語句。相信我們在前面的章節裡,已經學習瞭如何根據一個單元格的內容來判斷。現在讓我們再進一步,看看如何使用DO迴圈語句在一系列單元格上作同樣的決定。

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

例1:如果我們一直不點選取消按鍵,那麼這個程式就會一直執行下去。可是一旦我們選擇了VBno了,那麼將會終止執行DO迴圈。

VBA中重複操作的神器,Do……Loop迴圈語句,你值得擁有它

例2:如下是我們的第二個例子,使用了2個DO迴圈巢狀,當我們裡面的迴圈計數器一旦為10的話,那麼就會退出內迴圈。

VBA中重複操作的神器,Do……Loop迴圈語句,你值得擁有它

例3:如下2個程式碼看似是相同的,但是他們所要表達的意思是完全不同。

第一個使用了while語句,假如輸入的條件為3時執行死迴圈。輸入其他數字時不執行死迴圈。

第二個語句表示 只有當條件不為3

的時候才執行死迴圈。就是說test=3時不執行死迴圈。但輸入其他數字就執行死迴圈。

總結:until 是排除條件。不否和條件的,才執行命令;while 是隻執行條件。只有滿足才執行命令。

VBA中重複操作的神器,Do……Loop迴圈語句,你值得擁有它

PS: Exit Do 僅可以用在 Do。。。Loop 迴圈語句中,提供另一種退出 Do。。。Loop 的方法。可以在 Do。。。Loop 語句中的任何位置放置任意個 Exit Do。Exit Do 通常與條件判斷語句(如 If。。。Then )一起使用,將控制傳遞給緊隨在 Loop 語句後面的語句。當用於巢狀 Do。。。Loop 中的時候,Exit Do 將控制傳遞給其所在迴圈的上一層巢狀迴圈。

說到這裡,我們在VBA使用的常用迴圈已經基本介紹完畢,那麼什麼是迴圈?其實迴圈是一種導致一部分程式程式碼重複執行的程式設計結構。如下幾種迴圈,相信你已經有所瞭解了,在今後的應用和學習,將會頻繁的用到他們。

Do…While, Do…Until, For…Next, For…Each, and While…Wend

PS:Do…While迴圈還有另外一種語法,你可以在迴圈的底部測試條件,例如:

VBA中重複操作的神器,Do……Loop迴圈語句,你值得擁有它

注意,在條件被測試之時,VBA至少已經執行了一次迴圈裡的語句。除了將條件放在迴圈之後外,過程SignIn示範如何使用條件跳出迴圈。當Exit Do語句執行時,迴圈便立即停止。

我們在使用DO迴圈的時候,請千萬注意不要讓迴圈變成無限迴圈,即我們常常說的死迴圈,會直接造成Excel奔潰的。如果你沒有正確地設計你的迴圈,你將導致一無限迴圈——永無休止的迴圈。你將無法使用Esc鍵來停止該迴圈。在下面的過程裡,因為使用者忘了放置測試條件而導致了永無休止的迴圈:如下是一個簡單的死迴圈,有興趣的小夥伴們可以試試看。

VBA中重複操作的神器,Do……Loop迴圈語句,你值得擁有它

PS:當你遇到死迴圈的話,你可以試著按下Ctrl+Break鍵或者Esc鍵,當VBA顯示資訊“程式碼執行被中斷”時,點選結束以退出過程;如果按下以後沒有反應的話,就說明已經無法使用按鍵停止了。

VBA中重複操作的神器,Do……Loop迴圈語句,你值得擁有它

excel影片教程零基礎VBA表格函式透檢視2019office2016入門到精通

檢視

好啦!快樂的時間總是非常短暫的,又到了和大家說再見的時候,如果大家感覺本文如果對你有所幫助的話,請幫忙轉發點贊,謝謝您能觀看到現在,我們下期再見!

我是Excel教案,關注我持續分享更多的Excel技巧!

如果有不明白的或者不懂的可以在下方留言,我們會一一解答的。

VBA中重複操作的神器,Do……Loop迴圈語句,你值得擁有它