Schattierte Zellen zählen (Microsoft Excel)
In Excel können Sie alle Arten von Formatierungen auf die Zellen in Ihrer Arbeitsmappe anwenden. Sie können Zellen unter anderem anhand eines Musters oder einer Farbe „schattieren“. (Sie tun dies auf der Registerkarte „Muster“ des Dialogfelds „Zellen formatieren“.) Irgendwann möchten Sie möglicherweise wissen, wie viele Zellen in einem Bereich schattiert sind.
In Excel gibt es keine Arbeitsblattformel, mit der Sie schattierte Zellen zählen können. Stattdessen müssen Sie dazu ein eigenes Makro entwickeln. Das folgende Makro ist ein Beispiel für eine Lösung dieses Problems. Es zählt die Anzahl der schattierten Zellen im Bereich von A1 bis J20 und platziert die Anzahl in Zelle A1.
Sub CountColor() Dim irow, icol As Integer Cells(1, 1) = 0 For irow = 1 To 20 For icol = 1 To 10 If Cells(irow, icol).Interior.ColorIndex _ <> xlColorIndexNone Then Cells(1, 1) = Cells(1, 1) + 1 End If Next icol Next irow End Sub
Beachten Sie, dass das Herzstück der Routine der Vergleich ist, der zwischen dem ColorIndex jeder Zelle und der vordefinierten xlColorIndexNone-Konstante durchgeführt wird. Wenn sie nicht gleich sind, wurde die Zelle auf irgendeine Weise schattiert.
Dieselbe grundlegende Technik kann leicht an eine benutzerdefinierte Funktion angepasst werden.
Beachten Sie im Folgenden, dass der gleiche Vergleich zellenweise durchgeführt wird:
Function FindShades(a As Range) As Integer FindShades = 0 For Each c In a If c.Interior.ColorIndex <> xlColorIndexNone Then FindShades = FindShades + 1 End If Next c End Function
Um diese Funktion zu verwenden, verwenden Sie sie einfach in einer Zelle als Formel und geben Sie einen Bereich in der Formel an:
= FindShades(B7:E52)
_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 (2059) gilt für Microsoft Excel 97, 2000, 2002 und 2003.