Excel VBA Do Until Loop

Czy dopóki pętla nie będzie powtarzać instrukcji, aż warunek / kryteria staną się PRAWDA. Będzie wykonywać instrukcje, dopóki warunki będą FAŁSZ. Gdy warunek / kryteria staną się PRAWDZIWE, kończy pętlę. Można go postrzegać jako przeciwieństwo pętli Do While, w której pętla działa tak długo, jak długo kryteria są PRAWDA, i kończy się, gdy tylko kryteria zostaną FAŁSZ.

Zobacz poniższy schemat przepływu, który wyjaśnia działanie pętli Do Until:

Składnia funkcji Do Until Loop w programie Excel VBA

Do Until Loop ma dwa rodzaje składni w Excel VBA.

Składnia 1:

 Wykonaj do (warunek) (instrukcje do wykonania) Pętla 

Składnia 2:

 Wykonaj (instrukcje do wykonania) Pętla do (warunek) 

Podstawową różnicą między tymi dwiema składniami jest wykonanie. W pierwszej składni pętla zawsze sprawdza, czy warunek ma wartość Prawda czy Fałsz. Jeśli jest to False, powtórzy pętlę ponownie. Gdy tylko warunek / kryteria zostaną spełnione, nastąpi zakończenie pętli. W takim przypadku istnieje możliwość, że pętla zostanie zakończona przy pierwszej iteracji (jeśli warunek jest spełniony). Dlatego w takim przypadku nie otrzymasz żadnych danych wyjściowych. Jednak w drugiej składni pętla najpierw wykona instrukcje, a następnie sprawdzi, czy jest to prawda, czy fałsz. Jeśli warunek ma wartość False, ponownie wykona ten sam zestaw instrukcji i sprawdzi warunek. Jeśli sama pierwsza iteracja poda warunek True, pętla zostanie zakończona, ale wcześniej zostanie wykonana instrukcja. W takim przypadku otrzymamy co najmniej jedną iterację (jako wyjście zerowe).

Na koniec wynik obu kodów będzie taki sam. Jednak wykonanie jest czymś, co różni te dwa.

Przykład Excel VBA Do Until Loop

Zobaczmy przykłady Do Until Loop w Excelu VBA.

Możesz pobrać ten szablon Excel VBA Do Until Loop tutaj - Szablon Excel VBA Do Until Loop

Przykład # 1 - VBA Do Until Loop, gdy warunki są sprawdzane na początku

Wykonaj poniższe kroki, aby zastosować pętlę Do Until w programie Excel VBA.

Krok 1: Włóż nowy moduł do Visual Basic Editor (VBE), aby móc pisać kod.

Krok 2: Zdefiniuj podprocedurę, która może przechowywać kod makr, który będziesz pisać.

Kod:

 Sub Do_Until_Ex1 () End Sub 

Krok 3: Zdefiniuj nową zmienną „X” o typie danych jako „Long”. Ta zmienna może być używana jako warunek / kryterium w pętli Do Until.

Kod:

 Sub Do_Until_Ex1 () Dim X As Long End Sub 

Krok 4: Ustaw wartość początkową na 1 dla zmiennej X.

Kod:

 Sub Do_Until_Ex1 () Dim X As Long X = 1 End Sub 

Krok 5: Rozpocznij pętlę za pomocą słów kluczowych Do Until.

Kod:

 Sub Do_Until_Ex1 () Dim X As Long X = 1 Do Until End Sub 

Krok 6: Określ kryteria jako X = 11 w opcji Do Until. Jest to warunek, który pozwala na przerwanie pętli, gdy ma wartość True. Oznacza to, że pętla będzie działać, dopóki wartość X = 11. Gdy tylko wartość X wyniesie 11, pętla zostanie zakończona.

Kod:

 Sub Do_Until_Ex1 () Dim X As Long X = 1 Do Unt X = 11 End Sub 

Krok 7: Teraz użyj komórek VBA. Funkcja wartości, aby móc dodać kwadrat każdej liczby do X pod pierwszą kolumną.

Kod:

 Sub Do_Until_Ex1 () Dim X As Long X = 1 Do Unt X = 11 Cells (X, 1). Wartość = X * X End Sub 

Krok 8: Ponownie musimy ustawić przyrost w X o 1, aby za każdym razem, gdy pętla uruchomi się i sprawdzi warunek, przejdzie do następnej liczby i zapisze jej kwadratową wartość w odpowiedniej komórce, aż do liczby 11.

Kod:

 Sub Do_Until_Ex1 () Dim X As Long X = 1 Do Unt X = 11 Cells (X, 1). Wartość = X * XX = X + 1 End Sub 

Krok 9: Uzupełnij pętlę Do Until, wprowadzając słowo kluczowe „Loop” na końcu kodu.

Kod:

 Sub Do_Until_Ex1 () Dim X As Long X = 1 Do Unt X = 11 Cells (X, 1). Wartość = X * XX = X + 1 Koniec pętli Sub 

W tym kodzie chcieliśmy mieć kwadratowe wartości liczb zaczynające się od 1 do 11 (gdy tylko wartość wynosi 11, pętla kończy się). Pod każdą komórką arkusza programu Excel (do komórki nr 11) wartości zostaną zapisane. Przyrost o 1 jednostkę pozwala za każdym razem zwiększyć liczbę o 1 w poprzedniej wartości X, a wartość kwadratowa tej liczby jest drukowana w odpowiedniej komórce. Na przykład wartość kwadratowa dla 3 zostanie wydrukowana pod trzecią komórką aktywnego arkusza programu Excel. Ta pętla działa tak długo, jak X nie jest równa 11. Dlatego pod komórką A1 do komórki A10 otrzymujemy kwadratowe wartości liczby zaczynające się od 1 do 10 (przy pętli numer 11 zakończonej).

Krok 10: Naciśnij przycisk Uruchom lub naciśnij klawisz F5, aby uruchomić ten kod i zobaczyć wynik.

Przykład # 2 - Wykonaj do pętli, gdy warunki są sprawdzane na końcu pętli

Wykonaj poniższe kroki, aby zastosować pętlę Do Until w programie Excel VBA.

Krok 1: Zdefiniuj nową podprocedurę w module VBE.

Kod:

 Sub Do_Until_Ex2 () End Sub 

Krok 2: Zdefiniuj zmienną „Y” o typie danych jako „Long”. Ta zmienna będzie przydatna w zapętlaniu warunków.

Kod:

 Sub Do_Until_Ex2 () Dim Y As Long End Sub 

Krok 3: Ustaw wartość początkową zmiennej „Y” na 1.

Kod:

 Sub Do_Until_Ex2 () Dim Y As Long Y = 1 End Sub 

Krok 4: Dodaj warunek Do, wpisując Do w następnym wierszu po ustawieniu początkowej wartości Y na 1.

Kod:

 Sub Do_Until_Ex2 () Dim Y As Long Y = 1 Do End Sub 

Krok 5: Dodaj fragment kodu, który chcesz wykonać w pętli Do. Tutaj weźmiemy ten sam przykład, co powyżej (pomoże nam dowiedzieć się, jak wyjścia są takie same, ale kompilacje są różne dla dwóch z tych kodów).

Kod:

 Sub Do_Until_Ex2 () Dim Y As Long Y = 1 Do Sheets ("Przykład 2"). Komórki (Y, 1). Wartość = Y * Y End Sub 

Krok 6: Po każdej iteracji pętli chciałeś zwiększyć wartość o 1 jednostkę, ustaw dla tego polecenie w sekcji Do.

Kod:

 Sub Do_Until_Ex2 () Dim Y As Long Y = 1 Do Sheets („Przykład 2”). Komórki (Y, 1). Wartość = Y * YY = Y + 1 End Sub 

Krok 7: Dodaj instrukcję zamykającą dla tej pętli ze słowem kluczowym jako „Loop”.

Kod:

 Sub Do_Until_Ex2 () Dim Y As Long Y = 1 Do Sheets ("Przykład 2"). Komórki (Y, 1). Wartość = Y * YY = Y + 1 Koniec pętli Sub 

Czekaj! Jest coś więcej. Musisz dodać kryteria / warunek do tej pętli, tym razem po słowie kluczowym Pętla. Umożliwi to kompilatorowi sprawdzenie stanu na końcu pętli.

Krok 8: Dodaj do Y = 11 jako warunek po słowie kluczowym w pętli.

Kod:

 Sub Do_Until_Ex2 () Dim Y As Long Y = 1 Do Sheets ("Przykład 2"). Komórki (Y, 1). Wartość = Y * YY = Y + 1 pętla do Y = 11 End Sub 

Krok 9: Uruchom ten kod, naciskając F5 lub przycisk Uruchom i zobacz magię pod arkuszem o nazwie „Przykład 2”.

Jak działa ten kod?

System podnosi do kwadratu wartość Y za każdym razem pod pętlą i przechowuje ją pod drugą kolumną arkusza o nazwie „Przykład 2” rząd po rzędzie. Po każdej iteracji bieżąca wartość Y jest zwiększana o 1 jednostkę, a zaktualizowana wartość jest zwiększana do kwadratu i zapisywana. Tak długo, jak wartość jest mniejsza niż wartość kryterium (Y = 11), kod wykona kwadrat i zapisze go. Gdy tylko kompilator wartości osiągnie wartość Y = 11, przestaje wykonywać kod i kończy to samo.

Oba kody dają podobne wyniki, ale logicznie istnieje różnica w kompilacjach dla obu. W pierwszym typie kodu warunek jest sprawdzany na początku pętli, a jeśli jest to False, tylko pętla zaczyna oceniać następne wyrażenie. Jednak w drugim przykładzie kod zaczyna uruchamiać pętlę i wykonywać instrukcje Do na początku (zapisywanie wartości w pamięci buforowej dla instrukcji wykonania). Na końcu pętli kompilator wymienia kryterium i sprawdza to samo z wartością bufora.

Rzeczy do zapamiętania

  • VBA Do Until jest dokładnie odwrotnym przypadkiem programu Excel VBA Do While. Pętla VBA Do While działa, dopóki warunek jest PRAWDA. Gdy warunek ma wartość FALSE, pętla Do While zostaje zakończona. Z drugiej strony VBA Do Until działa tak długo, jak warunek ma wartość FALSE. Gdy tylko warunek jest PRAWDA, pętla zostaje zakończona.
  • Ma dwa sposoby postępowania: jeden, w którym warunek jest sprawdzany na początku pętli, a drugi, w którym warunek jest sprawdzany na końcu pętli.

Polecane artykuły

To jest przewodnik po VBA Do Until Loop. Tutaj omawiamy sposób korzystania z Excel VBA Do Until Loop wraz z praktycznymi przykładami i szablonem Excela do pobrania. Możesz także przejrzeć nasze inne sugerowane artykuły -

  1. VBA While Loop
  2. WYSZUKAJ formułę w programie Excel
  3. Ukończ samouczki na temat pętli VBA
  4. Tabela przeglądowa w programie Excel

Kategoria: