Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Farbzellen addieren





Frage

Hallo allemal, ich suche eine Formel, mit der man im Hintergrund gefärbte Zellen (z.B. A1 bis J1) addieren kann. Diese Formel muss nur die gefärbten Zellen addieren nicht deren Wertangabe z.B. 4+5=9. Vielen Dank für eure Hilfe Nicole

Antwort 1 von nighty

hi Nicole84 :)

wie gewuenscht :)

gruss nighty

einzufuegen alt f11(vbeditor)/einfuegen/allgemeinesModul

Rem beispiel =SumInteriorColor(A1:A4;3)
Rem wobei die 3 die gesuchte farbe des
angegebenen bereiches ist der gezaehlt werden soll

Function SumInteriorColor(Zellen As Range, farbe As Long) As Double
Application.Volatile
Dim Zelle As Range
For Each Zelle In Zellen
If Zelle.Font.ColorIndex = farbe Then
SumInteriorColor = SumInteriorColor + 1
End If
Next
End Function


Antwort 2 von Nicole84

Hallo nighty,

vielen Dank für die Hilfe. Leider addiert er nur die Zellen mit der Schriftfarbe. Geht das auch mit der Füllfarbe.

MfG Nicole84

Antwort 3 von want2cu

Hallo Nicole,

vor einigen Tagen gab es hier eine anfrage, wo exakt dein problem gelöst wurde. Wenn du hie rmal suchst, wirs du bestimmt fündig (oder nighty kann dir wi eüblich eher weiterhelfen ;-) )
CU
want2cu

Antwort 4 von coros

Hi an alle,
oder ich helfe Ihr weiter. Nachfolgend der Code von nighty, nur dass die Zellen mit Zellfarbe addiert werden.

Function SumInteriorColor(Zellen As Range, farbe As Long) As Double
Application.Volatile
Dim Zelle As Range
For Each Zelle In Zellen
If Zelle.Interior.ColorIndex = farbe Then
SumInteriorColor = SumInteriorColor + 1
End If
Next
End Function


MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 5 von Nicole84

Hallo
want2cu, coros und nighty

nochmals vielen Dank das man hier so schnell geholfen wird. Das Makro funktioniert bis auf eine Kleinigkeit,es zeigt das Ergebnis erst an, wenn man mit einem Doppelklick auf die ausgefüllte Zelle klickt. Kann man dies eventuell noch abstellen, so das dies automatisch geht.

Ansonsten nochmals vielen Dank und noch ein schönes Wochenende

Nicole

Antwort 6 von coros

Moin Nicole,

das liegt daran, dass die Funktion nur darauf reagiert, wenn in einer Zelle eine Änderung eintritt bzw. erfolgt, z.B. durch Eingabe eines Wertes. Sie funktionert nicht, wenn das Format sich ändert, z.B. wenn die Zellfarbe geändert wird. Nun gibt es 2 Möglichkeiten. Die Erste: Du drückst zur Neuberechnung der Funktion jedesmal die Taste F9. Die 2.: Du automatisierst das etwas und fügst nachfolgenden Code in das VBA Projekt der Tabelle, in der die Funktionsformel steht und die farbigen Zellen gezählt werden sollen. Damit wird nach jedem Verlasen einer Zelle das Blatt neu berechnet.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.Calculate
End Sub


Ich hoffe, ich konnte Dir weiterhelfen. Bei weiteren Fragen, melde Dich.

MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 7 von Nicole84

Hallo coros,

du hast mir sehr geholfen, aber eine Frage habe ich noch. Warum funktioniert dies nur wenn ich die Zellen so ausfülle, aber lasse ich sie über bedingte Formatierung ausfüllen, addiert er sie nicht?

MfG Nicole

Antwort 8 von coros

Hi Nicole,

das liegt daran, das die bedingte Formatierung nicht wie beim normalen Färben der Zelle einen Farbindex liefert. Daher reagiert die Funktion darauf nicht, weil sie nur den Farbindex der Zellen auswertet. Vielleicht gibt es ja eine Lösung dazu, aber mir ist nicht bekannt, wie man diesen Farbindex auslesen könnte.
Allerdings könntest Du doch, wenn der Farbumschlag durch eine bedingte Formatierung hervorgerufen wird, diese Zellen, die diese Bedinngung erfüllen, zählen.


MfG,
coros
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.

Antwort 9 von Nicole84

Hallo coros,

wird dem Excel hier seine Grenze aufgezeigt?
Ich hoffe nicht. Trotzdem vielen Dank für deine Auskunft.Ich finde es Super,dass es Leute wie dich hier im Forum gibt,um anderen zu helfen. Auch ihnen (die mir geholfen)und anderen noch helfen werden meinen Dank.

MfG Nicole

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: