Excel VBA Do While Loop

Do While Loop oznacza zrobienie czegoś, gdy warunek jest PRAWDA. To jest jak funkcja logiczna, która działa w oparciu o PRAWDA lub FAŁSZ. Jeśli więc warunek ma wartość PRAWDA, będzie on wykonywał instrukcję wewnątrz pętli, ale jeśli warunek ma wartość FAŁSZ, natychmiast wyjdzie z instrukcji Do While. Działanie VBA Do While Loop pokazano na poniższym rysunku.

Składnia Do While Loop w VBA Excel

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

Oba wyglądają bardzo podobnie i jest w nich jedno proste rozróżnienie.

W pierwszej składni pętla „Do While” najpierw sprawdza warunek i podaje wynik warunku jako PRAWDA lub FAŁSZ. Jeśli warunek ma wartość PRAWDA, wykona kod i wykona określone zadanie, a jeśli warunek ma wartość FAŁSZ, wówczas opuści pętlę.

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

Przykład Excel VBA Do While Loop

Jeśli nic nie zrozumiałeś w teorii, nie martw się. Wyjaśnię ci prosty zestaw przykładów, aby mieć rzetelną wiedzę na temat tej pętli.

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

Teraz wykonamy zadanie wstawienia pierwszych 10 numerów seryjnych z komórki A1 do A10. Wykonaj poniższe kroki, aby zastosować pętlę „Do While”.

Krok 1:

Najpierw utwórz nazwę makra.

Kod:

 Sub Do_While_Loop_Example1 () End Sub 

Krok 2:

Zdefiniuj zmienną jako „Long”. Zdefiniowałem „k” jako długi typ danych.

Kod:

 Sub Do_While_Loop_Example1 () Dim k As Long End Sub 

Krok 3:

Teraz wpisz słowo „Do While”. Po uruchomieniu nazwy pętli wprowadź warunek jako „k <= 10”.

Kod:

 Sub Do_While_Loop_Example1 () Dim k As Long Do While k <= 10 End Sub 

Krok 4:

Teraz użycie właściwości CELLS pozwala wstawić numery seryjne.

Kod:

 Sub Do_While_Loop_Example1 () Dim k As Long Do While k <= 10 Cells (k, 1). Wartość = k End Sub 

Uwaga: Tutaj zmienna „k” zaczyna się od 1, więc na początku wartość k jest równa 1. Gdziekolwiek „k” jest równe 1.

Krok 5:

Teraz zamknij pętlę, wprowadzając słowo „LOOP”.

Kod:

 Sub Do_While_Loop_Example1 () Dim k As Long Do While k <= 10 Cells (k, 1). Value = k Sub Loop End Sub 

Ok, skończone. Aby lepiej zrozumieć, przetestujmy ten kod jeden po drugim, naciskając jeden raz klawisz F8.

Najpierw naciśnij klawisz F8, podświetli nazwę makra kolorem żółtym.

Teraz jeszcze raz naciśnij klawisz F8, aby przejść do pętli Do While. Umieść kursor na „k” i zobacz, jaka jest wartość.

Zatem K = 0. Powód, dla którego „k” jest teraz równy zero, ponieważ pętla nie jest tutaj wykonywana. Naciśnij F8 jeszcze raz i sprawdź, jaka jest wartość.

Mimo to wartość „k” wynosi zero. Ok, zróbmy teraz jedną rzecz, zatrzymaj uruchamianie makra i przypisz wartość „k” jako 1 przed uruchomieniem pętli.

Teraz w pętli ponownie przypisz wartość k jako k = k +1.

Teraz rozpocznij proces wykonywania kodu wiersz po wierszu, naciskając klawisz F8. Zacznij naciskać F8 i zobacz, jaka jest wartość, gdy wykonuje pętlę „Do While”.

Kod:

 Sub Do_While_Loop_Example1 () 

Dim k As Long

k = 1

Czy Podczas gdy k <= 10
Komórki (k, 1). Wartość = k
k = k + 1

Pętla

Napis końcowy

Zatem wartość „k” jest równa 1. Gdziekolwiek „k” jest równa wartości 1. Więc wiersz kodu Komórki (k, 1). Wartość = k jest równa:

Komórki (1, 1). Wartość = 1, tzn. Wartość w wierszu 1 i kolumnie 1 (komórka A1) jest równa 1.

Naciśnij klawisz F8 i wykonaj akcję wewnątrz pętli.

Teraz spójrz na wartość w komórce A1.

Mamy więc wartość 1 w komórce A1.

Teraz wykonaj następny wiersz, naciskając klawisz F8 i sprawdź, jaka jest wartość „k”.

Więc teraz wartość k jest równa 2. Więc gdziekolwiek jest k, jest równe 2.

Naciśnij klawisz F8, teraz kod powróci, aby przetestować wartość k.

Teraz naciśnij jeszcze dwa razy klawisz F8 i sprawdź, jaka jest wartość w komórce A2.

W ten sposób Do While Loop wykonuje zadanie wstawiania numerów seryjnych, aż wartość k osiągnie wartość 11. Teraz wykonałem już wiersz po wierszu, aż wartość k osiągnie wartość 10.

Teraz, jeśli nacisnę jeszcze raz klawisz F8, wróci do przetestowania warunku, ale nie wykona wiersza kodu, ponieważ wartość k jest teraz większa niż 10.

Naciśnięcie klawisza F8 spowoduje natychmiastowe wyjście z pętli i przejście do End Sub.

Ostateczny wynik podano w następujący sposób.

W ten sposób VBA Do While Loop może być używany do wykonywania tego samego zestawu zadań, dopóki dany warunek nie będzie PRAWDA.

Rzeczy do zapamiętania

  • VBA Do While Loop wykonuje zadanie, dopóki warunek nie będzie PRAWDA.
  • Możemy również przetestować warunek na początku pętli lub na jej końcu.
  • Warunkiem ruchu jest FAŁSZ, spowoduje to wyjście z pętli i nie wykona zadania.

Polecane artykuły

To był przewodnik po VBA Do While Loop. Tutaj omówiliśmy, jak korzystać z Excel VBA Do While Loop wraz z kilkoma praktycznymi przykładami i szablonem Excela do pobrania. Możesz także przejrzeć nasze inne sugerowane artykuły -

  1. Jak korzystać z funkcji ZNAJDŹ w Excelu?
  2. Metody użycia funkcji VBA w programie Excel
  3. Sposoby korzystania z funkcji VBA w programie Excel
  4. Jak korzystać z funkcji VBA VLOOKUP?

Kategoria: