• 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.

Optellen als er aan 2 voorwaarden in 1 cel is voldaan

Status
Niet open voor verdere reacties.

ocmer127

Nieuwe gebruiker
Lid geworden
31 mei 2013
Berichten
3
Goededag.
Ik gebruik Excel 2007 Ned

Ik heb in een kolom een waarde van verschillende getallen staan, en deze zijn of blauw van kleur of rood ( de letters). Nu wil ik dus in een cel alle cellen optellen die voldoen aan 2 waarden.

1e waarde de kleur is blauw en tweede waarde is 1 van de getallen/ letters die ik ingevuld heb ( bv 10 of 20 of A)
als aan beide voorwaarde is voldaan moet er worden opgeteld.
De cel waarde optellen heb ik reeds gevonden via VBA maar dan telt hij ook cellen die geen ingevulde waarde hebben.

Het optellen van cellen met bepaalde waarde lukt via aantal.als
De code vba is:
Public Function TextColorCount(ByRef CeltekstKleur As Range, ByRef ColorRange As Range) As Long
Dim ColorTextIndexNr As Integer, Cel As Range

Application.Volatile

TextColorCount = 0
ColorTextIndexNr = CeltekstKleur.Font.ColorIndex

For Each Cel In ColorRange
If Cel.Font.ColorIndex = ColorTextIndexNr Then TextColorCount = TextColorCount + 1
Next
End Function

Kan ik daar een voorwaarden aan toevoegen zoals iets van de cel moet wel ingevuld zijn oid.

Alvast bedankt voor een reactie
 

Bijlagen

  • vraag over kolom.xlsx
    10,1 KB · Weergaven: 35
de waarde van de cel met de kleur , is daar ook nog een overeenkomst in.
bij voorbeeld als waarde lager dan.. rood
als waarde hoger dan..blauw.
dan kun je voorwaardelijke opmaak gebruiken, en de als functie
als waarde en kleur niet met elkaar heeft te maken , dan hoop ik dat een andere mede gebruiker van HM jou kan helpen.

Perry
 
Heb je dit al geprobeerd?
Zie het rode gedeelte..
Code:
Public Function TextColorCount(ByRef CeltekstKleur As Range, ByRef ColorRange As Range) As Long
Dim ColorTextIndexNr As Integer, Cel As Range

Application.Volatile

TextColorCount = 0
ColorTextIndexNr = CeltekstKleur.Font.ColorIndex

For Each Cel In ColorRange
If Cel.Font.ColorIndex = ColorTextIndexNr And [COLOR="#FF0000"][B]Cel.Value <> ""[/B][/COLOR] Then TextColorCount = TextColorCount + 1
Next
End Function
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan