Filter entsprechend der Formatierung auswerten?

Hallo Excel-Experten,

ich habe ein Problem mit einer ziemlich umfangreichen Excel-Tabelle.

Meine Daten sind mit zwei verschiedenen Hintergrundfarben gespeichert. Die Zellen enthalten ausschließlich Euro-Werte. Die Tabelle sieht etwa so aus:

A1 = grün B1 = blau C1 = blau D1 = grün
A2 = blau B2 = blau C2 = blau D2 = blau
A3 = blau B3 = grün C3 = grün D3 = grün usw.

Die farbliche Hinterlegung (die durchaus einen tieferen Sinn hat) ist völlig unregelmäßig *seufz*

Die Euro-Werte sind alle unterschiedlich und ich muss nun die Summe aller grünen Werte und die Summe aller blauen Werte aus jeder Spalte ziehen.

Da die Tabelle so etwa 800 Zeilen hat und bis zur Spalte OH (glaube ich) reicht - also recht umfangreich ist, möchte ich ungern jede einzelne Zelle mit einer bestimmten Farbe anklicken um sie zu addieren.

Weiß jemand von euch Rat? Ich bin fast am verzweifeln :frowning:

Gruß Piri

Hallo Piri,

mit folgenden benutzerdefinierten Funktionen kannst du die gewünschten Summen berechnen:

Function Farbe(Zelle)
 'Farbindex der Hintergrundfarbe der Zelle ermitteln
 Farbe = Zelle.Interior.ColorIndex
End Function

Function SummeFarbe(Musterzelle, Datenbereich As Range)
' Summiert alle Zellen im Datenbereich, die die Farbe der Musterzelle haben
 SummeFarbe = 0
 For Each Zelle In Datenbereich
 If Farbe(Musterzelle) = Farbe(Zelle) Then
 SummeFarbe = SummeFarbe + Zelle.Value
 End If
 Next
End Function

Den Code der beiden Formeln im VBA-Editor in ein Modul der Tabelle kopieren, ggf. muß du erst ein Modul anlegen. Anschließend kannst du die Formel SummeFarbe wie andere EXCEL-Formeln benutzen.

Gruß
Franz

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo, Piri!

ich habe ein Problem mit einer ziemlich umfangreichen
Excel-Tabelle.
Meine Daten sind mit zwei verschiedenen Hintergrundfarben
gespeichert. Die Zellen enthalten ausschließlich Euro-Werte.
Die Tabelle sieht etwa so aus: …

So was kommt alle Jubeljahre wieder. Schau mal im Archiv, da solltest Du ähnliche Probleme finden. Du wirst mit ziemlicher Sicherheit jedoch nicht um VBA rumkommen. Die einfachste VBA-Variante ist wahrscheinlich:

Du erstellst ein neues Modul und schreibst dort folgende Funktion hinein:

Public Function COLORINDEX(prngRange As Range) As Long
 COLORINDEX = prngRange.Interior.COLORINDEX
End Function

Dann kannst Du z. B. an den rechten Rand Deiner Spalten, ans Ende der Zeilen oder in ein neues Blatt jeweils die Formel „=COLORINDEX(A1)“ schreiben und den gleich großen Bereich mit der Formel ausfüllen. Ich gehe mal davon aus, dass Deine Daten in Tabelle1 stehen; die Formeln schreiben wir in Tabelle2; dann ist die Formel in Tabelle2!A1 „=COLORINDEX(Tabelle1!A1)“, in Tabelle2!AB137 „=COLORINDEX(Tabelle1!AB137)“ etc.

Dann kannst Du zur Summierung Deiner Spalten folgende Formel verwenden: „=SUMMEWENN(Tabelle2!A1:A30;8;Tabelle1!A1:A30)“ (wobei A1-A30 die verwendeten Zeilen sind, bei Dir also bis 800 plus x, die mittlere 8 der von mir verwendete ColorIndex, ein komisches hellblau-türkis-grün; schaue dazu in den Werten der Tabelle2, welche Farben Du verwendest). Diese Summenformel kannst Du natürlich in jede Spalte schreiben.

Gruß, Manfred