Pętle w Excelu są bardzo wygodnym narzędziem, dzięki którym możliwe jest wykonywanie powtarzających się działań. Omawiana w dzisiejszym materiale pętla For, jest chyba najczęściej używaną w programowaniu. Zachęcamy do wykorzystywania jej w praktyce!
Z lekcji dowiesz się:
Do czego służy pętla For?
Jak szybko porównać dwie wartości sprzedaży?
Jak skutecznie wykorzystać pętlę w programowaniu?
Z lekcji dowiesz się:
Do czego służy pętla For?
Jak szybko porównać dwie wartości sprzedaży?
Jak skutecznie wykorzystać pętlę w programowaniu?
Przykład
Naszym zadaniem jest przy wykorzystaniu pętli For i jej rozwinięciu For Each porównanie dwóch wartości sprzedaży w kontrakcie. Następnie pokolorowanie na zielono kontraktu, który jest większy.
Dim kolumna As Range– deklarujemy kolumnę w arkuszu kalkulacyjnym jako zakres
Dim komórka As Range – deklarujemy komórki w naszym arkuszu jako zakres
Dim licznik As Integer - deklarujemy zmienną – licznik - która będzie zliczała nam ilość kontraktów jako liczbę
Set kolumna = Range("A:A") – przypisujemy wartość dla zmiennej - kolumna - jako cały zakres kolumny A
licznik = 0 – ustawiamy wartość początkową
Najpierw wykorzystamy pętle For Each, dzięki której można policzyć liczbę kontraktów, które istnieją w bazie.
Schemat konstrukcji pętli For Each:
For Each wartość In grupa (dopóki nasza wartość znajduje się w naszej grupie,)
Warunek (warunek, który zostaje spełniony, dopóki wykonuje się nasza pętla)
Next
For Each komórka In kolumna (Wykonuj pętle, dopóki w kolumnie znajdują się komórki)
If komórka.Value <> Empty Then licznik = licznik + 1 (Jeżeli komórka nie jest pusta, to dodaj ja do licznika)
Next komórka
Następnie wykorzystamy pętle for, do porównania wartości sprzedaży w poszczególnych kontaktach i wskazania, która wartość jest większa.
Ogólna konstrukcja pętli For:
For licznik = start To koniec [krok pętli]
Instrukcja, która ma się wykonywać, dopóki trwa działanie pętli for
Next
For a = 2 To licznik – pętla rozpoczyna się od wartości startowej 2, za każdym jej krokiem zwiększa się o 1 i kończy, jeżeli osiągnie wartość równą wcześniej wyliczonemu licznikowi
If Cells(a, 2).Value > Cells(a, 3).Value Then (warunek pętli, jeśli kontakt z 2017 jest większy niż z 2018)
Cells(a, 2).Interior.ColorIndex = 10 – pokoloruj komórkę z wartością sprzedaży na zielono
Else – jeśli mniejsze
Cells(a, 3).Interior.ColorIndex = 10 – pokoloruj komórkę z wartością sprzedaży na zielono
End If
Next
Pełny kod (Rysunek 1)
(Rysunek 1)
Polecamy także:
© Sprytny Excel