VBA Do Until Loop

Co to jest robić do pętli w VBA Excel?

W VBA Do Until Loop musimy zdefiniować kryteria po instrukcji aż do momentu, w którym chcemy zatrzymać pętlę, a instrukcja end jest samą pętlą. Więc jeśli warunek jest FALSE, będzie kontynuował wykonywanie instrukcji wewnątrz pętli, ale jeśli warunek będzie od razu TRUE, zakończy polecenie Do Until.

Jak same słowa mówią, że aby wykonać jakieś zadanie, dopóki kryterium nie zostanie osiągnięte, Wykonuj, dopóki pętla nie zostanie użyta w prawie wszystkich językach programowania, w VBA również czasami używamy pętli Do aż. Pętla Do Until oznacza robienie czegoś, dopóki warunek nie stanie się PRAWDZIWY. To tak, jakby funkcja logiczna działała na podstawie PRAWDA lub FAŁSZ.

Jest to przeciwieństwo pętli Do While, w której Do while uruchamia pętle, o ile warunek ma wartość TRUE.

Składnia

Pętla Do Until ma dwa rodzaje składni.

Składnia # 1 

 Do [warunek] [Wykonaj jakieś zadanie] pętli 

Składnia # 2

 Wykonaj [wykonaj jakąś czynność] pętlę do [warunek] 

Obie wyglądają bardzo podobnie i jest tam jedno proste rozróżnienie.

W pierwszej składni pętla „Do Until” najpierw sprawdza warunek i uzyskuje warunek. Wynik jest PRAWDA lub FAŁSZ. Jeśli warunek ma wartość FALSE, wykona kod i wykona określone zadanie, a jeśli warunek ma wartość TRUE, zakończy pętlę.

W drugiej składni pętla „Do” najpierw wykona zadanie cod, a następnie sprawdzi, czy warunek jest PRAWDZIWY czy FAŁSZ. Jeśli warunek ma wartość FALSE, ponownie wróci i wykona to samo zadanie. Jeśli warunek jest PRAWDZIWY, natychmiast opuści pętlę.

Przykład

Wiem, że nie jest łatwo zrozumieć cokolwiek w części teoretycznej, ale nie ma się czym martwić. Podamy proste przykłady, aby zrozumieć pętlę. Czytaj. Aby rozpocząć naukę, wykonajmy zadanie wstawienia pierwszych 10 numerów seryjnych z komórki A1 do A10.

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

Wykonaj poniższe kroki, aby zastosować pętlę „Do Until”.

Krok 1: Najpierw utwórz nazwę makra, aby rozpocząć podprocedurę.

Kod:

 Sub Do_Until_Example1 () End Sub 

Krok 2: Zdefiniuj zmienną jako „długą”.  Zdefiniowałem „x” jako długi typ danych.

Dim x as long

Krok 3: Teraz wprowadź słowo „Do Until”.

Rób dopóki

Krok 4: Po uruchomieniu nazwy pętli wprowadź warunek jako „x = 11”.

 Czy do x = 11

x = 11 to test logiczny, który zastosowaliśmy. Więc ta linia mówi, że należy uruchomić pętlę, aż x będzie równe 11.

Krok 5: Zastosuj właściwość CELLS i wstawmy numery seryjne od 1 do 10.

Komórki (x, 1). Wartość = x

Uwaga: tutaj wspomnieliśmy, że „x” zaczyna się od 1, więc na początku wartość x wynosi 1. Gdziekolwiek „x” jest równe 1.

Krok 6: Teraz zamknij pętlę, wpisując słowo „LOOP”.

 Sub Do_Until_Example1 () Dim x As Long Do aż x = 11 Cells (x, 1). Wartość = x Pętla 

Napis końcowy

Ok, skończyliśmy z kodowaniem, teraz przetestujemy kody linijka po linijce, aby lepiej zrozumieć pętlę.

Aby uruchomić wiersz po kodzie, najpierw naciśnij klawisz F8.

Najpierw podświetli nazwę makra kolorem żółtym.

Kiedy widzisz żółtą linię, oznacza to, że nie zostanie to wykonane, jeśli naciśniesz klawisz F8 jeszcze raz.

Teraz naciśnij klawisz F8 jeszcze raz, żółta linia przejdzie do Do Until Loop.

Teraz, aby zrozumieć pętlę, umieść kursor na zmiennej „x” i zobacz wartość zmiennej „x”.

A więc x = 0. Ponieważ podświetlona linia jest pierwszą linią w pętli, więc wartość „x” wynosi zero, więc ponownie naciśnij klawisz F8 i zobacz wartość „x”. Przed tym wyjściem kod działa i przypisz wartość „x” jako 1.

Teraz ponownie uruchom pętlę, naciskając klawisz F8. Zobacz wartość „x”.

Teraz wartość „x” jest wyświetlana jako 1. Aby uzyskać wartość przyrostową zmiennej „x”, musimy ponownie przypisać wartość zmiennej „x” jako x = x + 1 wewnątrz pętli.

Teraz jeszcze raz naciśnij klawisz F8 i powinniśmy otrzymać wartość 1 w komórce A1.

Teraz ponownie naciśnij klawisz F8 i zobacz, jaka jest wartość „x”.

Wartość zmiennej „x” wynosi teraz 2. Tak więc nasz warunek mówi, że należy uruchamiać pętlę, aż warunek stanie się TRUE, więc nasza pętla będzie działać, aż wartość „x” osiągnie wartość 11.

Naciśnij klawisz F8 jeszcze raz, aby przejść z powrotem do linii pętli „Do Until”.

Naciśnij klawisz F8 jeszcze dwa razy, otrzymamy wartość 2 w komórce A2.

Naciśnij ponownie klawisz F8, a wartość „x” wyniesie teraz 3.

Ponownie naciśnij klawisz F8, aby ponownie przejść do pętli.

W ten sposób ta pętla będzie ponownie wykonywała zadanie, aż wartość „x” osiągnie wartość 11. Teraz wykonałem pętlę, aż wartość „x” osiągnie wartość 11.

Teraz, jeśli naciśnę F8, nadal wróci do pętli.

Ale jeśli teraz naciśnę klawisz F8, nastąpi wyjście z pętli, ponieważ zastosowany warunek stanie się „TRUE”, tj. X = 11.

Mamy teraz numery seryjne od 1 do 10 w arkuszu Excela.

Jest to więc podstawowa idea pętli „Do Until”. Aby zrozumieć pętle, musisz uruchamiać kod wiersz po wierszu, aż uzyskasz pełną wiedzę na temat pętli.