• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Waardes van gekleurde tekst in cellen bij elkaar optellen Excel 2016

Status
Niet open voor verdere reacties.

shabho

Nieuwe gebruiker
Lid geworden
27 jul 2016
Berichten
4
Ik heb in Excel iets gemaakt zodat ik kan zien welke facturen nog betaald moeten worden. Ik geef het betreffende bedrag dat nog betaald moet worden in de cel een rode tekstkleur. Nu heb ik al een macro gevonden die alle cellen met de rode tekstkleur bij elkaar optelt daarmee zie ik dus het aantal openstaande facturen, echter wil ik ook het totaalbedrag weten van deze openstaande facturen. Dus alle waardes in de cellen met rode tekst bij elkaar opgeteld. De macro die ik heb gevonden doet zich niet automatisch aanpassen, als ik een waarde aanpas moet ik de formule selecteren in de cel en dan pas telt door.
Gevonden Macro:

Function KleurAantal(c As Range, b As Range) As Long
Dim x As Range
For Each x In b
If x.Font.Color = c.Font.Color And Not IsEmpty(x) Then
KleurAantal = KleurAantal + 1
End If
Next x
End Function


Formule die ik gebruik:
=kleuraantal(E4;$E$3:$E$22)

Is hier een formule/macro voor die dit kan?
Ik ben geen excel expert dus graag een gemakkelijke uitleg...
Alvast bedankt voor de reacties.
 
Zet onder 'dim x as range' eens;
Code:
appliation.volatile
 
Wat zou dit moeten doen? Er gebeurt niks alleen de waarde van de formule werkt niet meer
 
Hier een voorbeeldbestand met code.
 

Bijlagen

  • Kleuren tellen.xlsb
    16,1 KB · Weergaven: 279
Helder Harry, maar kan dit ook andersom? Niet de celkleur tellen maar de tekstkleur?
 
Verander de code in.
Code:
Function TelKleur(rColor As Range, rSumRange As Range)
'Formule = TELKLEUR(cel met de fontkleur; optelbereik)
Application.Volatile
Dim rCell As Range
   For Each cl In rSumRange
    If cl.Font.ColorIndex = rColor.Font.ColorIndex Then TelKleur = TelKleur + cl.Value
   Next cl
End Function

Als je de cel van de som liever niet een fontkleur geeft moet het nog maar eens aangepast worden.
 
Ik heb de volgende macro gekregen en geplaatst. Hiermee lijkt het te werken.

Public Function KleurSom(RangeWaarden As Range) As Double
'(return as double ipv long om ook achter de komma te tellen)
Dim x As Range
Dim xcol As Variant
Dim ccol As Variant

For Each x In RangeWaarden
xcol = CLng(x.Font.ColorIndex)
ccol = 3 'colorindex rood = 3
If xcol = ccol Then
KleurSom = KleurSom + x.Value2
End If
Next x
End Function

Vervolgens de formule:
=KleurSom(A1:A29)

Mag een slotje op
 
Dat is inderdaad hetzelfde.

Opgelost zetten doe je overigens zelf (in je openingspost).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan