Hallo,
du könntest mal folgenden VBA-Code testen:
Code:
Function ZählenWennFarbe(Bereich As Range, _
SuchFarbe As Variant, _
Optional bolFont As Boolean = False) As Double
'Idee von Melanie Breden, © t.ramel@mvps.org / 13.10.2004 / 11.12.2004
'Funktion zur Anwendung von ZÄHLENWENN mit Hintergrundfarbe
'oder Schriftfarbe als Kriterium
'
'Die Parametereingabe erfolgt in derselben Reihenfolge wie in der Funktion
'ZÄHLENWENN():
' - Der erste Parameter erwartet den Suchbereich
' - Der zweite Parameter erwartet einen Zellbezug (Hintergrund/Schriftfarbe)
' oder Farbindex (Zahl)
' - Der dritte Parameter erwartet Wahr/Falsch für die Festlegung
' ob nach Hintergrund- oder Schriftfarbe gezählt werden soll
'
' Bsp =ZählenWennFarbe(A1:A10;A1;0) Hintergrundfarbe
' =ZählenWennFarbe(A1:A10;A1;0) Schriftfarbe
'Zur automatischen Aktualisierung im Tabellenblatt den folgenden Term
'anhängen: +(0*JETZT()) und F9 drücken
'Also z.B. wie folgt: =ZählenWennFarbe(A1:A10;A1)+(0*JETZT())
Dim intColor As Integer
Dim rngCell As Range
If bolFont Then
If IsObject(SuchFarbe) Then
intColor = SuchFarbe(1).Font.ColorIndex
Else
intColor = SuchFarbe
End If
For Each rngCell In Bereich
If rngCell.Font.ColorIndex = intColor Then
ZählenWennFarbe = ZählenWennFarbe + 1
End If
Next
Else
If IsObject(SuchFarbe) Then
intColor = SuchFarbe(1).Interior.ColorIndex
Else
intColor = SuchFarbe
End If
For Each rngCell In Bereich
If rngCell.Interior.ColorIndex = intColor Then
ZählenWennFarbe = ZählenWennFarbe + 1
End If
Next
End If
End Function
Der Code gehört in ein allgemeines Modul der Datei.
- Öffne mit Alt+F11 den VBA-Editor
- mit Strg+R den Projekt-Explorer öffnen und aktivieren
- die gewünschte Datei per Doppelklick markieren
- Tastenkombination Alt+E und dann M drücken
- in der rechten Fensterhälfte ist jetzt ein leeres Modul eingefügt worden
- in dieses Modul muss der Code eingefügt werden
- im Projektexplorer wird das Modul unter der Datei angezeigt
- speichen und den VBA-Editor mit Alt+F4 schliessen
- die Funktion steht dir jetzt in dieser Datei zur Verfügung
Erläuterungen über die Funktionsweise und den Aufruf des Codes stehen ganz am Anfang - das sind die Zeilen die mit einem Hochkomma beginnen.
Ein kleines Beispiel:
Arbeitsblatt mit dem Namen 'Tabelle1' |
| A |
1 | 4 |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
Zelle | Formel |
A1 | =ZählenwennFarbe(A2:A11;A2) |
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg |
Unabhänig davon sind Berechnungen in Excel aufgrund von Farben etc. keine so gute Idee da XL das von Haus auch nicht kann und hier Klimmzüge notwendig sind.