Bei der Arbeit mit Tabellen in Microsoft Excel müssen Sie häufig die Füllfarbe einer Zelle kennen. Diese Informationen können für verschiedene Vorgänge nützlich sein, z. B. zum Formatieren von Daten, Filtern oder Analysieren von Daten.
Im manuellen Modus können Sie die Füllfarbe einer Zelle ermitteln, indem Sie sie auswählen und die entsprechende Option im Formatierungsfenster anzeigen. Wenn Sie jedoch mit großen Datenmengen arbeiten oder Prozesse automatisieren, ist dieser Ansatz möglicherweise nicht effektiv.
Eine Möglichkeit, die Füllfarbe einer Zelle in VBA Excel zu kennen, besteht darin, die entsprechenden Funktionen und Methoden zu verwenden. Zum Beispiel eine Funktion Interior.Color gibt den Wert der Füllfarbe der Zelle zurück. Mit dieser Funktion können Sie einen numerischen Wert einer Farbe im RGB-Format abrufen und mit dem gewünschten Wert vergleichen.
Sie können auch die Methode verwenden Interior.Pattern, das den Wert des Zellfüllmusters zurückgibt. In Kombination mit der Methode Interior.PatternColor Sie können die Füllfarbe einer Zelle bestimmen, indem Sie die Muster- und Farbwerte überprüfen. Beispiel: Muster 1 entspricht einer Füllung mit Farbe, und der Farbwert kann mit der Methode abgerufen werden Interior.PatternColor.
Definieren der Füllfarbe einer Zelle in VBA Excel
- Verwenden der Interior-Eigenschaft.Mit der Interior-Eigenschaft können Sie die Füllfarbe einer Zelle definieren.Color . Diese Eigenschaft gibt den Farbwert als Zahl zurück. Beispielsweise entspricht der Wert 16777215 der Farbe "Weiß" und der Wert 255 der Farbe "Rot".
Sub GetCellFillColor()Dim cell As RangeDim colorValue As LongSet cell = Range("A1")colorValue = cell.Interior.ColorMsgBox "Цвет заливки ячейки: " & colorValueEnd Sub
Sub GetCellFillColor()Dim cell As RangeDim redValue As IntegerDim greenValue As IntegerDim blueValue As IntegerDim colorValue As LongSet cell = Range("A1")redValue = cell.Interior.Color Mod 256greenValue = cell.Interior.Color \ 256 Mod 256blueValue = cell.Interior.Color \ 256 \ 256 Mod 256colorValue = RGB(redValue, greenValue, blueValue)MsgBox "Цвет заливки ячейки: " & colorValueEnd Sub
Sub GetCellFillColor()Dim cell As RangeDim colorIndex As IntegerSet cell = Range("A1")colorIndex = cell.Interior.ColorIndexMsgBox "Индекс цвета заливки ячейки: " & colorIndexEnd Sub
Mit den oben genannten Methoden können Sie die Füllfarbe einer Zelle in VBA Excel einfach definieren und diese Informationen in Ihren Makros und Prozeduren verwenden.
Methoden zum Definieren der Füllfarbe einer Zelle
In Visual Basic for Applications (VBA) Excel gibt es mehrere Möglichkeiten, die Füllfarbe einer Zelle zu definieren. Betrachten wir einige von ihnen:
1. Verwenden der Interior-Eigenschaft.Color
Die Interior-Eigenschaft.Color gibt den Dezimalwert der Füllfarbe einer Zelle zurück. Um die Füllfarbe zu ermitteln, müssen Sie die Interior-Eigenschaft aufrufen.Color der ausgewählten Zelle. Zum Beispiel:
Dim cellColor As LongcellColor = Selection.Interior.ColorMsgBox "Цвет заливки ячейки: " & cellColor
2. Verwenden der Interior-Eigenschaft.ColorIndex
Die Interior-Eigenschaft.ColorIndex gibt den Index der Füllfarbe einer Zelle zurück. Sie können eine Excel-Farbtabelle verwenden, um die Füllfarbe anhand des Index zu ermitteln. Zum Beispiel:
Dim cellColorIndex As LongcellColorIndex = Selection.Interior.ColorIndexMsgBox "Индекс цвета заливки ячейки: " & cellColorIndex
3. Verwenden der Interior-Eigenschaft.Pattern
Die Interior-Eigenschaft.Pattern gibt das Füllmuster einer Zelle zurück. Verwenden Sie die Vergleichsbedingungen, um die Füllfarbe einer Zelle zu erkennen. Zum Beispiel:
Dim cellPattern As XlPatterncellPattern = Selection.Interior.PatternSelect Case cellPatternCase xlNone:MsgBox "Ячейка не заполнена"Case xlSolid:MsgBox "Цвет заливки ячейки: " & Selection.Interior.ColorCase Else:MsgBox "Шаблон заливки ячейки: " & cellPatternEnd Select
Beachten Sie, dass in den obigen Beispielen die Selection-Eigenschaft verwendet wird.Interior, um die aktive Zelle auszuwählen. Sie können es durch das gewünschte Zellenobjekt ersetzen.
Verwenden der Interior-Funktion.Color
Es gibt eine Interior-Funktion in der Excel-Programmiersprache VBA.Color , mit dem Sie die Füllfarbe der Zelle herausfinden können. Diese Funktion gibt einen numerischen Wert zurück, der die im RGB-Format angegebene Farbe darstellt.
Um die Interior-Funktion zu verwenden.Color muss als Argument an eine Zellreferenz übergeben werden. Um beispielsweise die Füllfarbe von Zelle A1 herauszufinden, müssen Sie schreiben:
Dim color As Longcolor = Range("A1").Interior.Color
In diesem Fall gibt die Variable color den Wert der Füllfarbe von Zelle A1 zurück.
Der resultierende Farbwert kann unter Bedingungen überprüft werden, indem er mit einem numerischen Wert verglichen wird, der einer bestimmten Farbe entspricht. Wenn Sie beispielsweise feststellen möchten, ob die Farbe der Zelle A1 rot ist, können Sie den folgenden Code verwenden:
If Range("A1").Interior.Color = RGB(255, 0, 0) ThenMsgBox "Цвет ячейки A1 - красный"End If
Dabei wird die RGB-Funktion verwendet, um den numerischen Wert der gewünschten Farbe im RGB-Format (Rot, Grün, Blau) festzulegen. In diesem Fall entspricht RGB(255, 0, 0) der Farbe Rot.
Mit der Interior-Funktion.Color Zusammen mit bedingten Ausdrücken können Sie die Füllfarben von Zellen erkennen und vergleichen, was Ihnen viele Möglichkeiten eröffnet, Daten in Excel mithilfe der Programmierung zu verwalten.
Definieren einer Füllfarbe mit RGB
In VBA Excel können wir die RGB-Funktion verwenden, um die Füllfarbe einer Zelle zu bestimmen. Die RGB-Funktion akzeptiert drei Argumente - Rot-, Grün- und Blauwerte im Bereich von 0 bis 255.
Um beispielsweise die Füllfarbe einer Zelle zu bestimmen, können wir den folgenden Code verwenden:
Sub GetCellFillColor()Dim cellColor As LongcellColor = ActiveSheet.Range("A1").Interior.ColorMsgBox "Цвет заливки ячейки A1: RGB(" & RGB(cellColor Mod 256, cellColor \ 256 Mod 256, cellColor \ 65536 Mod 256) & ")"End Sub
In diesem Code verwenden wir die Interior-Eigenschaft.Color, um die Füllfarbe der Zelle zu erhalten. Dann verwenden wir die RGB-Funktion mithilfe von arithmetischen Operationen, um die Werte von Rot, Grün und Blau zu berechnen. Der Wert jeder Farbe wird berechnet, indem der Rest beibehalten ( Mod ) dividiert und Ziel ( \ ) dividiert wird, um den korrekten Bereich zwischen 0 und 255 zu erhalten. Dann geben wir die resultierende Farbe als RGB-Wert mit der MsgBox-Funktion aus.
Auf diese Weise können wir die Füllfarbe einer Zelle mit RGB in VBA Excel mit der RGB-Funktion und der Interior-Eigenschaft leicht definieren.Color .
Überprüfen der Füllfarbe einer Zelle mit If. Then
In Excel VBA können Sie die Füllfarbe jeder Zelle mit dem If-Konstrukt überprüfen. Then. Dies kann nützlich sein, wenn Sie abhängig von der Farbe der Zelle eine bestimmte Aktion ausführen müssen.
Um zu beginnen, benötigen Sie eine Variable, um die Füllfarbe zu speichern. Angenommen, wir haben eine Zelle A1, deren Farbe überprüft werden muss. Wir können die Interior-Methode verwenden.Color, um die aktuelle Füllfarbe der Zelle zu erhalten:
Dim color As Longcolor = Range("A1").Interior.Color
Jetzt können wir das If-Konstrukt verwenden. Then, um den Wert der Variablen color zu überprüfen. Lassen Sie uns beispielsweise überprüfen, ob die Füllfarbe von Zelle A1 rot ist:
If color = RGB(255, 0, 0) ThenMsgBox "Цвет заливки ячейки A1 - красный"ElseMsgBox "Цвет заливки ячейки A1 - не красный"End If
In diesem Beispiel haben wir die RGB-Funktion(255, 0, 0) verwendet, um die Farbe Rot im RGB-Format darzustellen.
Sie können auch die Füllfarbe einer Zelle anhand von Farbkonstanten überprüfen, z. B. xlNone (keine Füllung) oder xlSolid (einheitliche Füllung). So sieht es aus:
If Range("A1").Interior.Pattern = xlNone ThenMsgBox "Ячейка A1 не заливается"ElseIf Range("A1").Interior.Pattern = xlSolid ThenMsgBox "Ячейка A1 имеет единообразную заливку"ElseMsgBox "Ячейка A1 имеет другой тип заливки"End If
In diesem Beispiel überprüfen wir den Fülltyp von Zelle A1. Wenn keine Füllung vorhanden ist, wird die Meldung "Zelle A1 wird nicht gefüllt" angezeigt. Wenn eine Zelle eine einheitliche Füllung hat (z. B. eine Farbfüllung), wird die Meldung "Zelle A1 hat eine einheitliche Füllung" angezeigt. Andernfalls wird die Meldung "Zelle A1 hat einen anderen Füllungstyp" angezeigt.
Jetzt können Sie das If-Konstrukt verwenden. Dann überprüfen Sie die Füllfarbe einer Zelle in VBA Excel und führen Sie abhängig von diesem Wert verschiedene Aktionen aus.
Arbeiten mit bedingter Formatierung zum Definieren der Füllfarbe
In VBA Excel können Sie die Füllfarbe einer Zelle mithilfe der bedingten Formatierung einfach definieren. Bedingte Formatierung ermöglicht es Ihnen, abhängig von den angegebenen Bedingungen verschiedene Stile und Formate auf Zellen anzuwenden.
Um die Füllfarbe einer Zelle zu bestimmen, können wir die Funktion verwenden Interior.Color. Diese Funktion gibt einen numerischen Wert zurück, der die Füllfarbe der Zelle darstellt. Wir können diesen Wert mit der numerischen Darstellung der gewünschten Farbe vergleichen.
Wenn wir beispielsweise feststellen müssen, ob die Füllfarbe der Zelle rot ist, können wir den folgenden Code verwenden:
Sub CheckCellColor() Dim cell As Range Set cell = ActiveSheet.Range("A1") If cell.Interior.Color = RGB(255, 0, 0) Then MsgBox "Füllfarbe für Zelle A1 ist rot" Else MsgBox "Füllfarbe für Zelle A1 ist nicht rot" End If End Sub
In diesem Beispiel vergleichen wir den Wert der Füllfarbe von Zelle A1 mit der numerischen Darstellung von Rot im RGB-Format (255, 0, 0). Wenn die Werte gleich sind, wird die Meldung "Füllfarbe für Zelle A1 ist rot" angezeigt, andernfalls wird die Meldung "Füllfarbe für Zelle A1 ist nicht rot" angezeigt.
Also mit bedingter Formatierung und der Interior-Funktion.Color, wir können die Füllfarbe einer Zelle in VBA Excel definieren.