In diesem Tutorial wird gezeigt, wie Sie mit VBA eine Zelle oder einen Zellbereich hervorheben.
Die bedingte Formatierung ist eine Möglichkeit, Zellen in Excel hervorzuheben. Wir können auch VBA verwenden, um Zellen hervorzuheben.
Markieren Sie eine Zelle
Um eine Zelle in VBA hervorzuheben, können wir das einfache Verfahren wie unten gezeigt verwenden.
123 | Unter HighlightCell()ActiveCell.Interior.Color = vbRedEnd Sub |
Markieren Sie einen Bereich von Zellen
Ebenso können wir einen Zellbereich auswählen und alle Zellen im Bereich hervorheben.
1234 | Sub HighlightRange()Bereich("A1:A10").WählenSelection.Interior.Color = vbRedEnd Sub |
Markieren Sie Zellen basierend auf dem Zellenwert
Um eine Bedingung zum Hervorheben einer Zelle hinzuzufügen, können wir eine IF-Anweisung verwenden, um die Zelle hervorzuheben, wenn der Wert der Zelle über einem bestimmten Wert liegt, in diesem Fall größer als 10.
12345 | Sub HighlightCell_1Wenn ActiveCell.Value > 10, dannActiveCell.Interior.Color = vbRedEnde WennEnd Sub |
Markieren Sie einen Zellbereich basierend auf dem Zellwert
Um die Werte in einem Bereich von Zellen zu überprüfen, müssten wir jede Zelle durchlaufen, ihren Wert festlegen und dann die Zelle entsprechend markieren. Im folgenden Beispiel stellen wir zunächst fest, dass der im Bereich enthaltene Wert eine Zahl ist, und testen dann, ob diese Zahl größer als 10 ist.
12345678910 | Unter HighlightRangeOfCells()Dim rng As RangeFür jeden rng im Bereich("A1:A10")Wenn IsNumeric(rng.Value) ThenWenn rng.Wert > 10, dannrng.Interior.Color = vbRedEnde WennEnde WennNächster rngEnd Sub |
Markieren Sie eine Zelle mit bedingter Formatierung
Wir können VBA auch verwenden, um eine bedingte Formatierung auf eine Zelle anzuwenden, um die Zelle hervorzuheben. Im folgenden Beispiel wird die bedingte Formatierung auf jede Zelle im Bereich angewendet. Wie im obigen Beispiel testen wir zuerst, ob die Zelle einen numerischen Wert enthält, und wenden dann die bedingte Formatierung an.
12345678910 | Sub SetConditionalFormatting()Dim rng As RangeFür jeden rng im Bereich("A1:A10")Wenn IsNumeric(rng.Value) Thenrng.FormatConditions.Add Typ:=xlCellValue, Operator:=xlGreater, Formula1:="=10"rng.FormatConditions(1).Interior.Color = vbRedrng.FormatConditions(1).StopIfTrue = FalseEnde WennNächster rngEnd Sub |
Markieren Sie eine Zelle, wenn sich die Auswahl ändert
Wir können die Hervorhebung einer Zelle dynamisch machen, wenn sich der Zellzeiger im aktuellen Arbeitsblatt bewegt, indem wir das Worksheet_Change-Ereignis verwenden. Im folgenden Beispiel werden alle Hervorhebungen im Blatt entfernt (außer denen durch bedingte Formatierung), und die aktive Zelle wird rot hervorgehoben (ColorIndex = 3).
1234 | Privates Unter Worksheet_SelectionChange(ByVal Target As Range)ActiveSheet.Cells.Interior.ColorIndex = xlColorIndexNoneTarget.Interior.ColorIndex = 3End Sub |