Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Summe - Hintergrundfarbe

Summe - Hintergrundfarbe
30.03.2015 09:50:56
Klaus
Hallo Forum
Ich google mir schon seit Tagen die Finger blutig und probiere rum, aber ich komme einfach auf keine Lösung, und deshalb frage ich euch einmal.
Ich brauche Lösung für mein Problem.
Ich habe eine Lagerbestandsdatei (hier nur eine Beispieldatei). Habe hier die Ergebnisse mit der Hand eingetragen.
Datei:
https://www.herber.de/bbs/user/96714.xlsx
Ich möchte, dass mir die Summe, in Abhängigkeit von den Hintergrundfarben berechnet wird.
Mit bedingten Formatierungen kann ich es nicht machen, da ich mich auf keine Wert festlegen kann (haben kein min und kein max – Wert).
Kann mir dabei irgendjemand helfen
Danke
Klaus

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Summe - Hintergrundfarbe
30.03.2015 10:09:46
ransi
Hallo Klaus
Das Archiv ist voll mit Lösungen zum Thema Farbsumme(), SummewennFarbe() und Ähnliche.
Im Prinzip sind das alles VBA Lösungen in denen mit Schleifen über bestimmte Bereich alle Zellen abgefragt werden ob sie die richtige Farbe haben. Wenn ja wird addiert.
Also alles irgendwie wie dies:
Tabelle1

 ABCDEFG
1 Lager 1Lager 2Lager 3Lager 4Lager 5 
2Bestand a15300    
3Bestand b550    
4Bestand c3300    
5Bestand d12012    
6Bestand e58    
7       
8 Summe rotSumme rotSumme rotSumme rotSumme rot 
9 2312000 
10       
11 Summe grünSumme grünSumme grünSumme grünSumme grün 
12 125658000 
13       
14       

Formeln der Tabelle
ZelleFormel
B9=Farbsumme(B8;B2:B6)
B12=Farbsumme(B11;B2:B6)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Dazu muss dieser Code in ein ganz normales Modul:
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Public Function Farbsumme(Farbzelle As Range, ParamArray Bereiche() As Variant)
    Dim Zelle As Range
    Dim Bereich
    Dim dblTmp As Double
    Dim lngFarbe As Long
    lngFarbe = Farbzelle.Interior.Color
    For Each Bereich In Bereiche
        For Each Zelle In Bereich.Cells
            If Zelle.Interior.Color = lngFarbe Then
                If IsNumeric(Zelle.Value) Then dblTmp = dblTmp + Zelle.Value
            End If
        Next Zelle
    Next Bereich
    Farbsumme = dblTmp
End Function


Die Berechnung startet aber nur wenn Werte geändert werden. Eine Änderung der Farbe reicht nicht aus um eine Neuberechnung anzuschubsen.
ransi
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Hintergrundfarbe in Excel summieren


Schritt-für-Schritt-Anleitung

Um in Excel die Summe nach Hintergrundfarbe zu berechnen, benötigst Du eine benutzerdefinierte Funktion in VBA. Hier ist eine einfache Anleitung, wie Du dies umsetzen kannst:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Kopiere den folgenden Code in das Modul:

    Option Explicit
    
    Public Function Farbsumme(Farbzelle As Range, ParamArray Bereiche() As Variant) As Double
        Dim Zelle As Range
        Dim Bereich
        Dim dblTmp As Double
        Dim lngFarbe As Long
        lngFarbe = Farbzelle.Interior.Color
    
        For Each Bereich In Bereiche
            For Each Zelle In Bereich.Cells
                If Zelle.Interior.Color = lngFarbe Then
                    If IsNumeric(Zelle.Value) Then dblTmp = dblTmp + Zelle.Value
                End If
            Next Zelle
        Next Bereich
        Farbsumme = dblTmp
    End Function
  4. Schließe den VBA-Editor und kehre zu Deinem Excel-Arbeitsblatt zurück.

  5. Verwende die Funktion =Farbsumme(A1; B1:B10) in einer Zelle, wobei A1 die Zelle mit der gewünschten Farbe ist und B1:B10 der Bereich, den Du summieren möchtest.

So kannst Du in Excel nach Hintergrundfarbe summieren.


Häufige Fehler und Lösungen

  • Fehler: "Komponente nicht gefunden"

    • Stelle sicher, dass Du den Code in ein Modul eingefügt hast und nicht in ein Arbeitsblatt oder die ThisWorkbook-Sektion.
  • Fehler: Keine Berechnung bei Farbänderung

    • Die Funktion wird nicht automatisch aktiviert, wenn Du nur die Farbe änderst. Du musst einen Wert in einer Zelle ändern, um die Berechnung zu aktivieren.

Alternative Methoden

Wenn Du keine VBA-Lösungen verwenden möchtest, gibt es einige alternative Ansätze:

  • Bedingte Formatierung: Du kannst die bedingte Formatierung verwenden, um Zellen in bestimmten Farben zu formatieren, basierend auf ihren Werten. Dies erlaubt Dir jedoch nicht, nach Farben zu summieren.

  • Manuelle Summierung: Eine weitere Möglichkeit ist, die farbigen Zellen manuell zu summieren, was jedoch zeitaufwändig ist und nicht für große Datenmengen geeignet ist.


Praktische Beispiele

Angenommen, Du hast eine Liste von Lagerbeständen und möchtest die Summe der Bestände in grünen Zellen berechnen.

  1. Deine Daten in Spalte B:

    • B2: 15 (grau)
    • B3: 300 (grün)
    • B4: 50 (grün)
  2. In Zelle C1 verwendest Du die Formel:

    =Farbsumme(B3; B2:B4)

    Das Ergebnis in C1 sollte 350 sein, wenn die Zellen B3 und B4 grün sind.


Tipps für Profis

  • Verwende benannte Bereiche für Deine Daten, um die Lesbarkeit und Wartbarkeit Deiner Formeln zu verbessern.
  • Teste die Funktion mit verschiedenen Zellformatierungen, um sicherzustellen, dass sie wie gewünscht funktioniert.
  • Denke daran, dass die Funktion Farbsumme nur für die Hintergrundfarbe funktioniert. Für Schriftfarbe musst Du eine separate Funktion erstellen.

FAQ: Häufige Fragen

1. Wie kann ich nur farbige Zellen summieren? Du kannst die benutzerdefinierte Funktion Farbsumme verwenden, um nur die Zellen mit einer bestimmten Hintergrundfarbe zu summieren.

2. Funktioniert das in allen Excel-Versionen? Ja, die VBA-Funktion sollte in den meisten modernen Excel-Versionen funktionieren, einschließlich Excel 2010, 2013, 2016 und neuer.

3. Wie summiere ich nach Schriftfarbe? Dafür benötigst Du eine separate VBA-Funktion, die die Font.Color-Eigenschaft überprüft, anstelle von Interior.Color.

4. Können bedingte Formatierungen hier verwendet werden? Bedingte Formatierungen können zwar zur Farbänderung verwendet werden, aber sie können nicht direkt für die Summierung genutzt werden, wenn keine festen Werte vorliegen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige