Rozwiązanie 2¶
Treść zadania¶
Stwórz przycisk, który po kliknięciu pokoloruje wszystkie komórki w zakresie A1:A10, które zawierają wartość poniżej średniej z tego zakresu.
Rozwiązanie¶
Sub PonizejSredniej_Click()
Dim zakres As Range
Dim srednia As Double
Set zakres = Range("A1:A10")
srednia = Application.WorksheetFunction.Average(zakres)
For Each kom In zakres
If kom.Value < srednia Then
kom.Interior.Color = RGB(0, 255, 0)
End If
Next kom
End Sub
Opis rozwiązania¶
1. Deklarowanie zmiennych¶
Dim zakres As Rangedeklaruje zmiennązakres, która będzie przechowywać odniesienie do zakresu komórek.Dim srednia As Doubledeklaruje zmiennąsrednia, która będzie przechowywać średnią wartość jako liczbę zmiennoprzecinkową (Double).
2. Ustawianie zakresu i obliczanie średniej¶
Set zakres = Range("A1:A10")przypisuje zakres komórek od A1 do A10 do zmiennejzakres.srednia = Application.WorksheetFunction.Average(zakres)oblicza średnią wartość dla podanego zakresu za pomocą funkcjiAveragei przypisuje wynik do zmiennejsrednia.
3. Pętla przez komórki w zakresie¶
For Each kom In zakresrozpoczyna pętlę, która wykona blok kodu dla każdej komórki (kom) w określonym zakresie (zakres).
4. Sprawdzanie wartości i zmiana koloru tła¶
If kom.Value < srednia Thensprawdza, czy wartość aktualnie przeglądanej komórki (kom.Value) jest mniejsza niż średnia (srednia).kom.Interior.Color = RGB(0, 255, 0)zmienia kolor tła komórki na zielony (za pomocą kodu koloru RGB), jeśli wartość jest poniżej średniej.
5. Koniec pętli¶
Next komkończy bieżący cykl pętli i przechodzi do następnej komórki w zakresie, jeśli nie wszystkie komórki zostały jeszcze sprawdzone.
6. Koniec procedury¶
End Suboznacza koniec procedury.