Discussion:
Berechnung von Zellfarbe abhängig
(zu alt für eine Antwort)
anna-lena
2005-11-24 21:16:27 UTC
Permalink
mein Problem ist die Anwendung der vorhandenen Anleitung zur:

Berechnung von Zellfarbe abhängig
Es sollen nur die Zellinhalte mit der entsprechenden Hintergrundfarbe
summiert werden.

Dies geschieht durch Aufruf =Farbsumme(Tabellenbereich;Farbnummer)
wenn die Summe der Textfarbe gesucht wird, die Zeile "If
Zelle.Interior.ColorIndex abändern in If Zelle.Font.ColorIndex

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


diese tolle Anleitung erhielt ich dankenswerterweise zur Summierung von
farbig hinterlegten Zellen, nur kann ich diese nicht übersetzen, da
ihr mir schon mehr als einmal aus der Verlegenheit gehoolfen habt
,hoffe ich wieder auf eure findige Hilfe, das wäre ganz toll und Danke
im voraus

Anna-Lena
unknown
2005-11-24 22:24:06 UTC
Permalink
Hallo Anna-Lena,
wie folgt:

Function Farbsumme(rngBereich As Range, intFarbe As Integer) As Double
Dim rngZelle As Range
Application.Volatile
For Each rngZelle In rngBereich
If rngZelle.Interior.ColorIndex = intFarbe Then
Farbsumme = Farbsumme + rngZelle.Value
End If
Next
End Function

MfG Frank
_________________________________________________
Frank Arendt-Theilen, Microsoft MVP für Excel, Hameln
Microsoft Excel - Die ExpertenTipps http://tinyurl.com/cmned
Website: http://www.xl-faq.de
# Auftragsprojekte#
Melanie Breden
2005-11-24 22:35:08 UTC
Permalink
Hallo anna-lena,
Post by anna-lena
diese tolle Anleitung erhielt ich dankenswerterweise zur Summierung von
farbig hinterlegten Zellen, nur kann ich diese nicht übersetzen, da
ihr mir schon mehr als einmal aus der Verlegenheit gehoolfen habt
,hoffe ich wieder auf eure findige Hilfe, das wäre ganz toll und Danke
im voraus
was willst du daran übersetzen?
Willst du wissen, wohin die Function gespeichert wird und wie der Aufruf erfolgt?

Öffne mit 'Alt+F11' den VBA-Editor. Klicke in der linken Explorer Seite auf den Namen
deiner Arbeitsmappe und dann mit einem Rechtsklick -> Einfügen-> Modul.
Füge obige Funktion dann in das rechte obere Fenster ein.

In einem Tabellenblatt dieser Arbeitsmappe kannst du nun z.B. folgende Formel
in einer Zelle verwenden:
=Farbsumme(A1:A20;3)

Wenn du die Standardwerte der Farbpalette nicht verändert hast,
steht die Zahl 3 für die Farbe rot.
Es werden im Bereich A1:A20 alle Werte mit rotem Zellenhintergrund addiert.

Wenn du die Zellenfarben veränderst wird die Funktion nicht automatisch neu berechnet.
Eine Aktualisierung des Formelergebnisses erfolgt, sobald irgendeine Berechnung in der
Arbeitsmappe stattfindet.
Manuell kannst du eine Neuberechnung mit der Taste 'F9' auslösen.

Um die Farbindexe aller Farben zu ermitteln, füge im VBA Editor noch ein
neues Modul ein und kopiere folgende Prozedur in das Modul.
Starte die Prozedur 'FarbenListe', indem du den Cusor in der Aufrufzeile
plazierst und 'F5' drückst.

Public Sub FarbenListe()
Dim lngRow As Long
Workbooks.Add 1
For lngRow = 1 To 56
Cells(lngRow, "A").Interior.ColorIndex = lngRow
Cells(lngRow, "B").Value = lngRow
Next lngRow
End Sub

Die so ermittelten Farbnummern kannst du in der eigentlichen Funktion verwenden,
um bestimmte Farben zu suchen und die enthaltenen Werte zu addieren.


Mit freundlichen Grüssen
Melanie Breden
--
- Microsoft MVP für Excel -
Microsoft Excel - Die ExpertenTipps http://tinyurl.com/cmned
Das Excel-VBA Codebook http://excel.codebooks.de
Excel-Auftragsprogrammierung
Loading...