Ten samouczek pokaże, jak używać VBA do podświetlania komórki lub zakresu komórek.
Formatowanie warunkowe to jeden ze sposobów wyróżniania komórek w programie Excel. Możemy również użyć VBA do podświetlania komórek.
Zaznacz komórkę
Aby podświetlić komórkę w VBA, możemy użyć prostej procedury, jak pokazano poniżej.
123 | Podświetlna komórka()ActiveCell.Interior.Color = vbRedNapis końcowy |
Zaznacz zakres komórek
Podobnie możemy wybrać zakres komórek i podświetlić wszystkie komórki w zakresie.
1234 | Podzakres podświetlenia()Zakres ("A1:A10").WybierzWybór.Kolor.wnętrza = vbRedNapis końcowy |
Wyróżnij komórki na podstawie wartości komórki
Aby dodać warunek podświetlenia komórki, możemy użyć instrukcji IF, aby podświetlić komórkę, jeśli wartość komórki przekracza określoną wartość, w tym przypadku większą niż 10.
12345 | Podświetlna komórka_1Jeśli ActiveCell.Value > 10 toActiveCell.Interior.Color = vbRedZakończ, jeśliNapis końcowy |
Zaznacz zakres komórek na podstawie wartości komórki
Aby sprawdzić wartości w zakresie komórek, musielibyśmy przejść przez każdą komórkę, ustalić jej wartość, a następnie odpowiednio podświetlić komórkę. W poniższym przykładzie najpierw ustalimy, że wartość w zakresie jest liczbą, a następnie sprawdzimy, czy ta liczba jest większa niż 10.
12345678910 | Sub HighlightRangeOfCells()Dim rng As RangeDla każdego dzwonka w zakresie("A1:A10")Jeśli IsNumeric(rng.Value) WtedyJeśli rng.Value > 10 Wtedyrng.Interior.Color = vbRedZakończ, jeśliZakończ, jeśliNastępny numerNapis końcowy |
Zaznacz komórkę za pomocą formatowania warunkowego
Możemy również użyć VBA, aby zastosować formatowanie warunkowe do komórki, aby podświetlić komórkę. W poniższym przykładzie formatowanie warunkowe zostanie zastosowane do każdej komórki w zakresie. Podobnie jak w powyższym przykładzie, najpierw sprawdzamy, czy komórka zawiera wartość liczbową, a następnie stosujemy formatowanie warunkowe.
12345678910 | PodzbiórFormatowanie warunkowe()Dim rng As RangeDla każdego dzwonka w zakresie("A1:A10")Jeśli IsNumeric(rng.Value) Wtedyrng.FormatConditions.Add Typ:=xlCellValue, Operator:=xlGreater, Formuła1:="=10"rng.FormatConditions(1).Interior.Color = vbRedrng.FormatConditions(1).StopIfTrue = FałszZakończ, jeśliNastępny numerNapis końcowy |
Zaznacz komórkę, gdy wybór się zmieni
Możemy sprawić, że podświetlenie komórki będzie dynamiczne, gdy wskaźnik komórki przesunie się w bieżącym arkuszu roboczym, używając zdarzenia Worksheet_Change. W poniższym przykładzie wszystkie podświetlenia w arkuszu zostaną usunięte (z wyjątkiem tych wykonanych przez formatowanie warunkowe), a aktywna komórka zostanie podświetlona na czerwono (ColorIndex = 3).
1234 | Private Sub Worksheet_SelectionChange (ByVal Target As Range)ActiveSheet.Cells.Interior.ColorIndex = xlColorIndexBrakWskaźnik Koloru Wewnętrznego Celu = 3Napis końcowy |