Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
244to248
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
244to248
244to248
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Summieren über Zellenhintergrundsfarbe

Summieren über Zellenhintergrundsfarbe
15.04.2003 10:26:42
Rick

Hallo Leute

ich möchte in einem Zellbereich Werte addieren aufgrund der jeweiligen Hintergrundfarben der Zelle...

Gibt's da eine Möglichkeit ??

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Summieren über Zellenhintergrundsfarbe
15.04.2003 10:30:02
Willie

Du musst die background.color abfragen!
Willie

Re: Summieren über Zellenhintergrundsfarbe
15.04.2003 10:52:50
Rick

Willie

Wie mache ich das ??

Gruss Rick

Re: Summieren über Zellenhintergrundsfarbe
15.04.2003 19:28:49
WernerB.

Hallo Rick,

wenn Deine Zellhintergrundfarben durch bedingte Formatierungen erzeugt werden, so brauchst Du nicht weiterlesen, dann kann ich Dir leider nicht helfen.
In Hans W. Herber's Archiv habe ich eine Function gefunden, die ich passend für Dich modifiziert habe.
Diese Function musst Du in einem normalen Standardmodul hinterlegen:

In der Zelle, in der die Summe der Werte mit einer bestimmten Schriftfarbe erscheinen soll, folgende Formel eingeben:
=SumFarbe(A1:A10;3)

"A1:A10" ist der Bereich, in dem die Werte mit einer bestimmten Schriftfarbe summiert werden sollen; die "3" steht hier für die Farbe Rot.

Nun ist es aber leider so, dass Excel nicht auf Format-Veränderungen reagiert, wenn man nicht ein bisschen nachhilft. Wenn Du also die Hintergrundfarben in dem Bereich veränderst, zeigt Excel in der Ergebniszelle immer noch den alten Wert an.

Alternativ zum Gebrauch der F9-Taste kannst Du auch im Tabellenblatt-Modul den folgenden Code hinterlegen (als Ergebniszelle habe ich "A11" angenommen):

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
ActiveSheet.Range("A11").Calculate
End Sub

- Mache dazu einen Rechtsklick auf den Tabellennamen (Lasche).
- Klicke dann auf "Code anzeigen".
- Automatisch öffnen sich nun der VB-Editor und das Klassenmodul des betreffenden Tabellenblattes.
- Schreibe/kopiere das vorstehende Makro in die große weiße Fläche auf der rechten Seite.
- Zurück zum "normalen" Excel geht's mit Alt + Q.
- Fertig.

Allerdings machen mehrere solcher Konstrukte Excel erheblich langsam, weil es nach jedem Mausklick (wg. "Application.Volatile") alle Blätter aller geöffneten Mappen neu durchrechnet. Diesen Nachteil musst Du leider in Kauf nehmen oder ggf. eben auf das Makro verzichten, wenn es zu lästig ist.

Wenn Du die Zeile "Application.Volatile" aus der Function herausnimmst, so werden weder die F9-Taste noch das kleine Makro eine Aktualisierung auslösen können.


Viel Erfolg wünscht
WernerB.

Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige