20. Farbige Zellen oder Schriften summieren

Aufgabenstellung:

Es sollten die Werte von einer Schrift oder Hintergrundfarbe summiert werden.

Dieses Beispiel steht auch als Beispieldatei zum Download zur Verfügung.


Realisiert wurde das in 2 Varianten durch eine VBA- und Funktions-Lösung.

Variante 1: Es wurde ein Funktionscode erstellt, der die Zellen mit der entsprechenden Farbe addiert.

Der Code ist in ein StandardModul einzufügen und sollte über eine Befehlsschaltfläche aufgerufen werden.


Function Farbsumme_Schriftfarbe(Bereich As Range, Farbe As Integer)
'Schriftfarbe
Dim Zelle As Object
Application.Volatile
For Each Zelle In Bereich
If Zelle.Font.ColorIndex = Farbe Then
Farbsumme_Schriftfarbe = Farbsumme_Schriftfarbe + Zelle
End If
Next
End Function

Function Farbsumme_Hintergrund(Bereich As Range, Farbe As Integer)
'Hintergrund
Dim Zelle As Object
Application.Volatile
For Each Zelle In Bereich
If Zelle.Interior.ColorIndex = Farbe Then
Farbsumme_Hintergrund = Farbsumme_Hintergrund + Zelle
End If
Next
End Function

In der Zelle, in der das Ergebnis erscheinen soll, muss dann die Funktionsformel eingetragen werden.


=Farbsumme_Schriftfarbe(A1:A100;3)

=Farbsumme_Hintergrund(B1:B100;44)

 

Variante 2: Es wurde ein VBA-Code erstellt, der die Zellen mit der entsprechenden Farbe addiert. Die Ergebnisse werden in Zelle E2 (Schriftfarbe) bzw. in Zelle E4 (Hintergrundfarbe) angezeigt. Hierbei handelt es sich um ein Worksheet_SelectionChange-Ereignis, dass in das VBA-Projekt der Tabelle werden muss, in dem der Code wirken soll.


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Zähler_Hintergrund As Integer, Zähler_Schrift As Integer, _
Zelle_Hintergrund As Range, Zelle_Schrift As Range
'Schriftfarbe
For Each Zelle_Schrift In Range("A1:A50")
If Zelle_Schrift.Font.ColorIndex = 3 Then
Zähler_Schrift = Zähler_Schrift + 1
End If
Next
Range("E2").Value = Zähler_Schrift

'Hintergrundfarbe
For Each Zelle_Hintergrund In Range("B1:B50")
If Zelle_Hintergrund.Interior.ColorIndex = 44 Then
Zähler_Hintergrund = Zähler_Hintergrund + 1
End If
Next
Range("E4").Value = Zähler_Hintergrund
End Sub

 


Dieses Beispiel wurde unter den in der Tabelle aufgeführten Versionen getestet.

  A B C D E
1        

2

 

Excel - Version

Getestet

 
3      
4   Excel 2007 12.0 a  
5   Excel 2003 11.0 a  
4   Excel 2002 10.0 a  
5   Excel 2000 9.0 a  
6   Excel 97 8.0    
7          
8   Anzahl der Downloads:

 
9          
10   Dieses Beispiel wurde bereits  x aufgerufen.  
11    
12          

 


> Beispieldatei herunterladen <

  Sollten beim Ausführen der Beispieldatei Fehler auftreten, bitte ich darum, mir eine Mail mit der Fehlerbeschreibung an fehler@excelbeispiele.de zu schicken.
Danke!

 Möchten Sie www.excelbeispiele.de in Ihre Favoriten aufnehmen? Dann Klicken Sie hier.
 

Kontakt:

letzte Aktualisierung am 06.01.2008

© 2004 - Copyright Oliver Scheckelhoff,
All Rights Reserved