Sortowanie komórek według koloru tła
Otrzymałeś od swojego współpracownika zestawienie, w którym różne grupy wartości zostały oznaczone odpowiednim kolorem tła komórek. Dane w tabeli chciałbyś posortować, ale niestety Excel nie posiada takiego polecenia. Można jednak zbudować własną funkcję VBA, która zwróci numer koloru. Mając numery możesz swobodnie posortować komórki.
Przykładowe zestawienie przedstawia rysunek 1.
Rys. 1. Tabela zawierająca dane do posortowania
Stwórz teraz własną funkcję zwracającą w wyniku numer koloru tła komórki.
=> W tym celu:
1. Przejdź do Edytora Visual Basic, wciskając kombinację klawiszy lewy Alt + F11.
2. W lewej części ekranu widoczne będzie małe okno eksploratora projektu (jeżeli go nie widać wybierz View/Project Explorer).
3. Po zaznaczeniu nazwy pliku, w którym zostanie umieszczona funkcja, wybierz polecenie Insert/Module.
4. Wpisz kod widoczny na rysunku 2.
Rys. 2. Kod funkcji zwracającej numer koloru tła
5. Zapisz i zamknij Edytor VBA.
Możesz teraz wrócić do Excela i użyć funkcji.
=> Aby to zrobić:
6. W komórce D2 wstaw formułę:
=Kolor(A2)
a następnie skopiuj ją do pozostałych komórek.
Zauważ, że w wyniku otrzymasz numery. Teraz możesz tabelę posortować wg danych znajdujących się kolumnie D.
Rys. 3. Tabela posortowana wg kolorów
Uwaga
Zmiana koloru nie powoduje ponownego przeliczenia formuły. Funkcje w Excelu aktualizują wynik przy zmianie dowolnej wartości w komórce. Nie jest to jednak dużym problemem. Po zmianie kolorów w komórkach wystarczy, że wciśniesz klawisz F9, a otrzymasz aktualne numery.