Richard versucht, mithilfe von Suchen und Ersetzen Zellen zu zählen, die mit einer bestimmten Füllfarbe formatiert wurden. Dies funktioniert einwandfrei, es sei denn, die Füllung ist das Ergebnis einer bedingten Formatierung. In diesem Fall findet Find and Replace sie nicht. Es ist jedoch weiterhin möglich, Zeilen mit bedingt formatierten Zellen anhand ihrer Füllfarbe zu filtern. Richard fragt sich, warum Find and Replace diese Zellen nicht finden kann, wenn Autofilter eine der beiden Arten der Zellenformatierung erkennen kann.

Alles, was als „Warum“ angeboten werden könnte, wäre natürlich Spekulation. (Ich habe mich oft gefragt, warum Microsoft die Dinge so gemacht hat, wie sie es getan haben.) Abgesehen davon ist es sinnvoll, dass Suchen und Ersetzen so codiert ist, dass Sie Dinge finden können, die ersetzt werden können. Füllfarben, die als Ergebnis der bedingten Formatierung angezeigt werden, sind genau das – eine Anzeigefarbe, keine echte Füllfarbe. Anzeigefarben können nicht ersetzt werden, daher können sie nicht gefunden werden.

Sie können jedoch eine andere Methode verwenden, um die gewünschte Anzahl anzuzeigen – ein Makro. Das folgende Makro betrachtet alle Zellen in einem bestimmten Bereich. Wenn eine Übereinstimmung mit einer gewünschten Farbe gefunden wird, wird der Zähler inkrementiert. (Es wird das .DisplayFormat-Objekt untersucht, also die Farbe „wie angezeigt“, was bedeutet, dass es auch mit der angezeigten bedingten Formatierung übereinstimmt.)

Sub CountCellColors()

Dim Rng As Range     Dim c As Range     Dim Colr As Variant     Dim J As Integer     Dim sTemp As String

Set Rng = Range("A1:Z500") 'Change as needed     Colr = vbYellow            'Set color you want to count

J = 0     sTemp = ""

For Each c In Rng         If c.DisplayFormat.Interior.Color = Colr Then             J = J + 1             sTemp = sTemp & vbCr & "     " & c.Address         End If     Next c

Select Case J         Case 0             sTemp = "There are no colored cells in the range."

Case 1             sTemp = "There is 1 colored cell in the range:" _               & vbCr & sTemp         Case Else             sTemp = "There are " & J & " colored cells in the range:" _               & vbCr & sTemp     End Select     MsgBox sTemp End Sub

Wenn das Makro ausgeführt wird, wird ein Meldungsfeld angezeigt, in dem die Anzahl der Farbübereinstimmungen sowie die Adressen der übereinstimmenden Zellen angezeigt werden. Wie geschrieben, überprüft das Makro die Zellen A1: Z500 und sucht nach gelber Füllung in den Zellen. Beide Zeilen, in denen diese Werte festgelegt sind, können in die für Ihre Anforderungen geeigneten Zeilen geändert werden.

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (13742) gilt für Microsoft Excel 2007, 2010, 2013, 2016, 2019 und Excel in Office 365.