Anzeige

VBA
Programmierer
gesucht?
 
Anzeige
VBA Programmierer gesucht?
 

VBA Codeschnipselsammlung

Individuelle Formeln: SUMMEWENNFARBE und ZAEHLENWENNFARBE

Immer wieder nützliche Formeln:
SUMMEWENNFARBE(<Vergleichszelle>;<Summenbereich>) - Summiert alle gleichfarbigen Zellen.
ZAEHLENWENNFARBE(<Vergleichszelle>;<Zaehlbereich>) - Zählt alle gleichfarbigen Zellen.

Wichtiger Hinweis: Farbveränderungen haben in Excel® keine Neuberechnung zur Folge!!! Für Abhilfe kann die Prozedur MWKomplettBerechnung (siehe unten) verwendet werden. Evtl. können Sie sich einen neuen Schalter erstellen und diesen mit Komplettberechnung betiteln und die Prozedur aufrufen.

Option Explicit
' ************************************************************************************************
' Autor/en: http://www.online-vba.de - Marc Wershoven
' Verwendung der Quelltexte auf eigene Gefahr!
' Es gelten die Nutzungsbedingungen von www.online-vba.de!
' Original-Quelltext: www.online-vba.de/vba_farbsummeformel.php
' ************************************************************************************************


Function SUMMEWENNFARBE(ByRef FarbZelle As Range, ByRef ZaehlBereich As Range) As Double
   Dim lColorIndex As Long
   Dim dSumme As Double
   Dim oCell As Object
    
     lColorIndex = FarbZelle.Interior.ColorIndex
     dSumme = 0
     For Each oCell In ZaehlBereich.Cells
         If oCell.Interior.ColorIndex = lColorIndex Then
             If IsNumeric(oCell.Value) = True Then
                 dSumme = dSumme + CDbl(oCell.Value)
             End If
         End If
      Next
    
     SUMMEWENNFARBE = dSumme
    
     Set oCell = Nothing
End Function

Function ZAEHLENWENNFARBE(ByRef FarbZelle As Range, ByRef ZaehlBereich As Range) As Long
   Dim lColorIndex As Long
   Dim lCount As Long
   Dim oCell As Object
    
     lColorIndex = FarbZelle.Interior.ColorIndex
     lCount = 0
     For Each oCell In ZaehlBereich.Cells
         If oCell.Interior.ColorIndex = lColorIndex Then
             lCount = lCount + 1
         End If
      Next
    
     ZAEHLENWENNFARBE = lCount
    
     Set oCell = Nothing
End Function

Sub MWKomplettBerechnung()
     Application.CalculateFull
End Sub


Autor: Marc Wershoven (2013)

Anzeige

VBA Programmierer gesucht?
http://www.WershovenOnline.de

Anzeige

Der Quick E-Mail Support von WershovenOnline®

Schnelle Hilfe bei Fragen rund um Microsoft® Office und VBA Makros

Der Quick E-Mail Support von WershovenOnline® Sie haben beispielsweise eine Frage zu einer Ihrer eigenen Makroprogrammierungen in VBA? Oder Sie suchen Unterstützung und Informationen über eine bestimmte Microsoft® Excel® Formel? Bei nahezu allen Fragen und Problemen rund um Microsoft® Office und VBA Makros steht Ihnen unser individueller Quick E-Mail Support zur Verfügung. Einfach, schnell und unkompliziert Ihre Frage in einer E-Mail formulieren, mit oder ohne Screenshots oder einer Beispieldatei absenden und kurze Zeit später haben Sie eine vollständige Lösung inkl. ausführlicher Erklärung vom Profi in Ihrem Postfach! Zusätzlich besteht die Option, dass wir uns mittels Fernwartung (selbstverständlich nach Ihrem Einvertändnis) direkt "live" mit Ihnen zusammen an Ihrem Bildschirm gemeinsam Fragen und Problemstellungen anschauen und lösen können!

Weitere Informationen zu diesem kostenpflichtigen Angebot finden Sie auf der Anbieterseite von WershovenOnline® auf www.wershovenonline.de.

Zum Anbieter des Quick-E-Mail-Support...

Zum Seitenanfang