Przerwa Excel VBA dla pętli

Przerwanie VBA jest używane, gdy chcemy wyjść lub przerwać ciągłą pętlę, która ma określone stałe kryteria. Pętla For mieści się w zakresie zakresu i definiuje instrukcje, które są wykonywane wielokrotnie przez ustalony czas. Czasami, gdy używamy dowolnego warunku pętli w VBA, często zdarza się, że kod działa bez końca lub przerwy. Aby uniknąć tego rodzaju sytuacji, zaleca się użycie funkcji break lub exit, dzięki której możemy wyjść z pętli z mierzalnym wyjściem z makra.

Jak korzystać z Excel VBA Break For Loop?

Dowiemy się, jak korzystać z VBA Break for Loop z kilkoma przykładami w Excelu.

Możesz pobrać ten szablon VBA Break For Loop Excel tutaj - Szablon VBA Break For Loop Excel

Przykład # 1 - VBA Break For Loop

Zobaczymy przykład, w którym przy użyciu pętli For kryteria aranżacji nie zostaną złamane. Ale aby to naprawić, użyjemy pętli If-End . W tym celu potrzebujemy modułu, w którym napiszemy ten kod.

Wykonaj poniższe kroki, aby użyć Przerwa w pętli w programie Excel VBA.

Krok 1: Otwórz nowy moduł, przejdź do okna VBA i wybierz Moduł z opcji menu Wstaw.

Krok 2: To zabierze nas do nowego modułu w VBA. Teraz w tym module napisz Podkategorię w nazwie VBA Break For Loop lub w dowolnej innej nazwie, która określa jego znaczenie.

Kod:

 Sub VBABreak1 () End Sub 

Krok 3: Teraz zdefiniuj DIM jako dowolny alfabet lub słowo. To nadaje mu tożsamość. Tutaj używamy alfabetu „A” poniżej.

Kod:

 Sub VBABreak1 () Dim A End Sub 

Krok 4: Teraz przypisz go jako liczbę całkowitą, która jest używana tylko dla liczb, jak pokazano poniżej.

Kod:

 Sub VBABreak1 () Dim A As Integer End Sub 

Krok 5: Teraz przypisz wartość liczbową do liczby całkowitej A. Powiedzmy, że jest to 10, jak pokazano poniżej.

Kod:

 Sub VBABreak1 () Dim A As Integer A = 10 End Sub 

Krok 6: Teraz uruchom pętlę For i rozważ dowolną początkową wartość A. Lepiej jest przyjąć tę wartość jako zero. To staje się łatwe do obliczeń.

Kod:

 Sub VBABreak1 () Dim A As Integer A = 10 For A = 0 To A Step 2 End Sub 

Krok 7: Aby wydrukować wartość zapisaną w A, użyjemy okna komunikatu, które pobierze jej wartość. Możesz również użyć dowolnej formy zdania, aby okno komunikatu było bardziej znaczące, co jest opcjonalne. Użyliśmy go, jak pokazano poniżej.

Kod:

 Sub VBABreak1 () Dim A As Integer A = 10 For A = 0 To A Step 2 MsgBox („Wartość to A to:” i A) Next End Sub 

Krok 8: Teraz skompiluj kod krok po kroku za pomocą klawisza funkcyjnego F8, a następnie uruchom kod, klikając przycisk Odtwórz, jak pokazano poniżej. Zobaczymy, że wynik w każdym kroku będzie wynosił od 0 do 10 w odstępie kroków 2, jak pokazano poniżej.

Krok 9: Teraz w końcu zamknij For Loop, a także użyj Dalej na końcu. „Dalej” jest używane, gdy używamy liczb w kodzie.

Kod:

 Sub VBABreak1 () Dim A As Integer A = 10 For A = 0 To A Step 2 MsgBox („Wartość to A to:” i A) Wyjdź do następnego końca Sub 

Krok 10: To pokazuje, że pętla nie jest kompletna i musimy również wypełnić kryteria wyjścia, aby wyjść z pętli For. I do tego użyjemy warunku pętli If-End. Rozważ więc napisanie pętli If dla tej samej liczby całkowitej A. Tutaj wybierz limit, aż chcesz uruchomić pętlę. Uznaliśmy to za 4.

Kod:

 Sub VBABreak1 () Dim A As Integer A = 10 For A = 0 To A Step 2 MsgBox („Wartość to A to:” i A) Jeśli A = 4, to wyjdź do następnego końca Sub 

Krok 11: Dodajmy jeszcze jedno kryterium, w którym wykorzystamy liczbę pomnożeń przez dowolną liczbę. Powiedzmy, że to 10. Możesz wybrać dowolną inną liczbę zamiast 10. Ale użycie 10 ułatwia zrozumienie pętli mnożenia.

Kod:

 Sub VBABreak1 () Dim A As Integer A = 10 For A = 0 To A Step 2 MsgBox („Wartość to A to:” i A) Jeśli A = 4, A = A * 10 Exit For Next End Sub 

Krok 12: Teraz ponownie użyj pola komunikatu nazwy, tak jak użyliśmy pętli For, i na koniec zamknij instrukcję If Loop with End if, jak pokazano poniżej.

Kod:

 Sub VBABreak1 () Dim A As Integer A = 10 For A = 0 To A Step 2 MsgBox („Wartość to A to:” i A) Jeśli A = 4, A = A * 10 MsgBox („Wartość to A to : "I A) Wyjdź na koniec, jeśli następny koniec Sub 

Krok 13: Ponownie skompiluj kod i uruchom go. For Loop rozpocznie się od wyświetlenia komunikatu o wartości 0, a następnie po 2, 4 i kończącego go na 40. Co oznacza, że ​​For Loop został zerwany, gdy przy trzeciej iteracji, i przyjął ostatnią wartość jako 40.

Przykład # 2 - VBA Break For Loop

W tym przykładzie zastosujemy pętlę For i zobaczymy, jak przerwać pętlę, gdy spełni ona kryteria.

Krok 1: Otwórz nowy moduł z opcji menu Wstaw i nadaj mu podkategorię pod dowolną nazwą lub lepiej w sposób sekwencyjny, jak pokazano poniżej.

Kod:

 Sub VBABreak2 () End Sub 

Krok 2: Teraz zdefiniuj DIM A jako liczbę całkowitą. Użycie liczby całkowitej do testu pozwala nam na szybsze wdrożenie kodu i łatwe debugowanie.

Kod:

 Sub VBABreak2 () Dim A As Integer End Sub 

Krok 3: Teraz uruchom pętlę For dla zdefiniowanej liczby całkowitej i podaj zakres od dowolnej liczby wierszy, zaczynając od 1. Wybraliśmy do 20.

Kod:

 Sub VBABreak2 () Dim A As Integer For A = 1 To 20 End Sub 

Krok 4: Teraz podaj zakres lub lokalizację, z której numery będą drukowane w kolejności. Użyliśmy ThisWorkBook do wybrania aktualnie otwartego pliku i Arkuszy roboczych (1) do wybrania pierwszego arkusza otwartego skoroszytu, jak pokazano poniżej. Teraz, aby zamknąć pętlę For, napisz Dalej na końcu, jak pokazano poniżej.

Kod:

 Sub VBABreak2 () Dim A jako liczba całkowita dla A = 1 do 20 ThisWorkbook.Worksheets (1). Komórki (A, 1) = A Next End Sub 

Krok 5: Uruchom powyższy kod ręcznie lub za pomocą klawisza skrótu F5. Widzimy, że w kodzie podano liczbę od 1 do 20.

Krok 6: Teraz, aby przerwać pętlę od 0 do 20, użyjemy warunku pętli If-End if, w którym podamy kryteria upadku, jak pokazano poniżej.

Kod:

 Sub VBABreak2 () Dim A As Integer For A = 1 To 20 If End If ThisWorkbook.Worksheets (1) .Cells (A, 1) = A Next End Sub 

Krok 7: Teraz napisz kryteria, jeśli A jest większe niż 9 (lub dowolna liczba, ale mniejsza niż 20), a następnie Wyjdź dla, jak pokazano poniżej. Zakładamy, że For Loop powinien się zepsuć, gdy pętla osiągnie 9.

Kod:

 Sub VBABreak2 () Dim A As Integer For A = 1 To 20 If A> 9 Następnie Exit For End If ThisWorkbook.Worksheets (1) .Cells (A, 1) = A Next End Sub 

Krok 8: Teraz skompiluj kod, aby znaleźć błąd. Jeśli nie znaleziono błędu, uruchom go. Przekonamy się, że dla liczb całkowitych A wartości od 1 do 20 zostały wypełnione do momentu wyjścia lub złamania kodu na pozycji 9.

Zalety VBA Break For Loop

  • Wyjścia lub przerwania można używać nie tylko dla pętli For, ale także w wielu innych pętlach, takich jak Do-While.
  • Jest to najczęściej używane spośród wszystkich warunków pętli dostępnych w VBA.
  • Pętla jest dość łatwa i może działać nawet bez kryteriów wyjścia.

Rzeczy do zapamiętania

  • Pętla For może działać bez podawania kryteriów wyjścia. Może działać dobrze, dopóki kryteria bez wyjścia nie spowodują przerwania pętli do końca.
  • Ważne jest, aby przerwać dowolną pętlę, która nie spełnia kryteriów wyjścia, używając wyjścia w pętli.
  • Po napisaniu kodu zapisz plik jako Macro Enable Excel, aby zachować zapisany kod.

Polecane artykuły

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

  1. VBA InStr wyjaśniono za pomocą przykładów
  2. Typ danych VBA Integer
  3. Jak wybrać komórkę za pomocą kodu VBA?
  4. Transponuj zakres w VBA

Kategoria: