HERBERS Excel-Forum - das Archiv

Thema: Summieren von Zellen mit bedingter Formatierung

Summieren von Zellen mit bedingter Formatierung
Slisher
Liebe Community,

ich möchte gerne Zellen, die mit bedingter Formatierung optisch hervorgehoben sind summieren.

Nachdem ich alles mögliche erfolglos ausprobiert habe und ich inzwischen gelernt habe, dass Excel diese Formatierung nicht so anzeigt, dass es mit einfachen Mitteln "gelesen" werden kann, bin ich bei VBA gelandet.
Nun habe ich Null-Ahnung von VBA.
Die KI gefragt hat mir diesen Code generiert:

vb
Function SumConditionColorCells(SumRange As Range, ColorRange As Range) As Double
Dim SumColorValue As Integer
Dim TotalSum As Double
Dim cell As Range

SumColorValue = ColorRange.Interior.ColorIndex

For Each cell In SumRange
If cell.Interior.ColorIndex = SumColorValue Then
If IsNumeric(cell.Value) Then
TotalSum = TotalSum + cell.Value
End If
End If
Next cell

MsgBox ActiveCell.DisplayFormat.Interior.Color

SumConditionColorCells = TotalSum
End Function

Diesen Code habe ich in VBA eingesetzt, aber bei der Anwendung kommt jetzt die folgende Fehlermeldung:
"Fehler beim Kompilieren - Außerhalb einer Prozedur ungültig".

Hat jemand eine Idee?
lg Slisher


PS: Leider kann ich die Datei nicht hochladen - egal wo ich die Datei ablege, läßt mich das System die Datei nicht hochladen.
AW: Summieren von Zellen mit bedingter Formatierung
SF
Hola,
wenn du doch Bedingungen hast, kannst du diese doch auch für die Summierung verwenden. Warum der Umweg über VBA?
Gruß,
steve1da
AW: Summieren von Zellen mit bedingter Formatierung
Onur
Was soll das Wort "vb" im Code ?
AW: Summieren von Zellen mit bedingter Formatierung
daniel
Hi
um die "normale" Farbe (ohne Bedingte Formatierung) einer Zelle abzufragen nimmst du
 cell.Interior.ColorIndex

um die tatsächliche Farbe einer Zelle abzufragen (mit Bedingter Formatierung) nimmst du
cell.DisplayFormat.Interior.ColorIndex


problem an der Sache ist, dass Microsoft verboten hat, dieses DisplayFormat innerhalb von Zellformeln zu verwenden.
dh eine Funktion mit dieser Funktion läuft nur innerhalb eines Makros, aber nicht wenn du du die Funktion in einer Formel in einer Zelle verwendest
Gruß Daniel
AW: Summieren von Zellen mit bedingter Formatierung
Slisher
Hallo Daniel,

Dein Hinweis hat mich davor bewahrt durchzudrehen :-) mit Hilfe der KI habe ich ein Makro geschrieben und ...

... es geht.

Vielen Dank! Danke an Dich und alle die mir geholfen haben.

Tolle Community.

lg
Slisher (Benny)
AW: Summieren von Zellen mit bedingter Formatierung
Slisher
Hallo Steve,

Danke für Deine Antwort.

Das habe ich schon probiert - mit einer Hilfsspalte. Da die Werte aber variabel sind läßt sich keine eindeutige Formel ableiten.

Habe bei Anderen das schon gesehen, da waren aber immer eindeutige Werte zu ermitteln.

Daher habe ich die Hervorhebung mit der bedingten Formatierung gewählt und diese lässt ich aber nicht "auslesen".

Hm :-(
AW: Summieren von Zellen mit bedingter Formatierung
SF
Dann zeig doch mal was du für eine bedingte Formatierung hast. Dann könnte man evtl etwas basteln.
AW: Summieren von Zellen mit bedingter Formatierung
Sigi.21
Hallo Slisher,

mit deiner Funktion kannst du nur die "normale" Hintergrundfarbe summieren. Nicht aber die durch bedingte Formatierung erzeugte Farbe!
In deiner Fkt. verwendest du "cell" als Variable. "Cell" ist ein geschütztes VBA-Wort!
Der ColorIndex bei Farbe ist veraltet. Das galt für Excel mit 56 Farben. Lange ist es her. Nimm heutzutage nur "Color". (f. ca, 16 Mio. Farben). Dann muss die Variable natürlich ein long sein.

Function FarbSumme(SummeBereich As Range, ColorRange As Range) As Double
Dim FarbWert As Long
Dim Summe As Double
Dim Zelle As Range
Application.Volatile
FarbWert = ColorRange.Interior.Color
For Each Zelle In SummeBereich
If Zelle.Interior.Color = FarbWert Then
If IsNumeric(Zelle.Value) Then
Summe = Summe + Zelle.Value
End If
End If
Next Zelle
FarbSumme = Summe
End Function

Gruß Sigi
Nur am Rande...
{Boris}
Hi,

In deiner Fkt. verwendest du "cell" als Variable. "Cell" ist ein geschütztes VBA-Wort!

Stimmt nicht. Cell ist OK, Cells ist das Schlüsselwort. ;-)

VG, Boris
AW: Summieren von Zellen mit bedingter Formatierung
Slisher
Hall Sigi,

vielen Dank für den Code.

Leider kommt noch immer die gleiche Meldung.

Ich befürchte ich habe so wenig Ahnung von der Materie, dass ich wahrscheinlich einen Flüchtigkeitsfehler mache.

Es ist so schade, dass ich die Excel-Datei nicht hochladen kann :-(

Nochmals vielen Dank

lg Slisher