VBA w Exce11, excel


VBA w Excelu - kurs dla początkujących

0x01 graphic
Instrukcja For Each... Next

Pewną odmianą pętli For... Next jest instrukcja For Each... Next, służy ona do wykonywania operacji na obiektach kolekcji (powtarza grupę instrukcji dla każdego elementu tablicy lub obiektu kolekcji). Praktycznym zastosowaniem może być np. przeszukiwanie komórek arkusza Excela w celu znalezienia określonej wartości. Podstawowa składnia pętli For Each... Next jest następująca:

0x01 graphic

Składnia:

For Each element In kolekcja
 [blok kodu wykonywany dla każdego elementu kolekcji]
Next element

0x01 graphic

Objaśnienie:

  • element - jest to zmienna która przebiega wszystkie elementy zbioru lub tablicy.

  • kolekcja - jest to nazwa przeszukiwanego zbioru obiektów lub tablicy

0x01 graphic

Informacje dodatkowe:

  • Inną możliwością zakończenia wykonywania pętli jest umieszczenie w niej instrukcji Exit For. Instrukcja Exit For występuje przeważnie po sprawdzeniu pewnego warunku, np. w instrukcji If Then Else.

  • Pętla For Each... Next, w przeciwieństwie do do instrukcji For... Next, nie wymaga licznika kontrolującą liczbę wykonań pętli. Jeżeli nie zastosujemy instrukcji Exit For to pętla zostanie wykonana tyle razy, ile elementów posiada kolekcja.

0x01 graphic

Przykład kod przykładu:

Sub Wyszukaj()
 
For Each element In Range("A1:M25")
  
If IsNumeric(element.Value) = True Then
   
If element.Value < 0 Then
    element.Interior.ColorIndex = 3
    
Exit For
   
End If
  
End If
 
Next
End Sub

0x01 graphic

Przykład opis przykładu:

W przykładzie przeszukiwany jest zakres komórek A1:M25 arkusza Excela w celu znalezienia wartości numerycznej mniejszej od zera. Jeżeli w aktualnie przeszukiwanej komórce jest wartość numeryczna mniejsza od zera, kolor wypełnienia tej komórki zmieniany jest na czerwony i pętla kończy działanie. Na podstawie tego przykładu chciałem pokazać jak zastosować instrukcję Exit For do wcześniejszego wyjścia z pętli. Gdybyśmy nie zastosowali tej instrukcji pętla byłaby wykonana tyle razy ile jest komórek w zakresie A1:M25. Oczywiście pętla będzie wykonana do końca jeżeli w żadnej komórce w przeszukiwanym zakresie nie ma wartości numerycznej mniejszej od zera. Kolekcją czyli zbiorem do przeszukania w naszym przypadku jest zakres komórek A1:M25 aktywnego arkusza, zaś zmienna element określa aktualnie przeszukiwaną komórkę.
Aby przetestować przykład wykonaj analogiczne czynności jak w przykładzie ze strony opisującej pętle For Next. Oczywiście w punkcie przypisującym makro do przycisku formularza wybieramy nazwę
Wyszukaj. Po wykonaniu tych punktów wpisz różne wartości (dodatnie i ujemne) do komórek arkusza z podanego zakresu. Kliknij na przycisk i przetestuj przykład.

0x01 graphic

Słownictwo:

  • kolekcja - obiekt zawierający zestaw powiązanych ze sobą obiektów. Pozycje obiektów w kolekcji mogą zmieniać się pod wpływem zmian w kolekcji; pozycja każdego konkretnego obiektu kolekcji może zatem ulegać zmianie.

  • obiekt - kombinacja kodu programu i danych, które mogą być traktowane jako całość, na przykład jako formant, formularz lub część aplikacji.

  • tablica - zbiór kolejno indeksowanych elementów mających ten sam wewnętrzny typ danych. Każdy element tablicy posiada unikatowy numer indeksu. Przeprowadzenie zmian dla jednego elementu tablicy nie wpływa na inne jej elementy.



Wyszukiwarka

Podobne podstrony:
VBA w Excel7, excel
VBA w Exce13, excel
VBA w Excelu, excel
VBA w Exce18, excel
VBA w Exce21, excel
VBA w Exce17, excel
VBA w Excel3, excel
VBA w Exce14, excel
VBA w Exce16, excel
VBA w Excel4, excel
VBA w Excel1, excel
VBA w Excel5, excel
VBA w Exce15, excel
VBA w Exce12, excel
VBA w Exce23, excel
VBA w Exce25, excel
VBA w Excel6, excel
VBA w Exce10, excel
VBA w Excelu10, excel

więcej podobnych podstron