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

Cellen tellen op basis van kleur

Status
Niet open voor verdere reacties.
ivm voorwaardelijke opmaak: probeer deze eens
Code:
Sub telRood()
Dim R As Range,t as integer
On Error GoTo oeps
Workbooks.Open Filename:=ThisWorkbook.Path & "\" & "instellijst test.xlsx"
Set R = ActiveSheet.Cells.Find("Charge").CurrentRegion.Columns(2).Cells
For Rij = 3 To R.Rows.Count Step 2
     If Int(Now) - R(Rij, 1) <= 14 And (R(Rij, 16) >= 47.8 Or R(Rij, 16) <= 44.2) Then t = t + 1
Next
ActiveWorkbook.Close savechanges:=False
Range("H10") = "aantal rood = " & t
oeps:
End Sub
 
Laatst bewerkt:
Ik wilde net de opmerking over de voorwaardelijke opmaak maken ;)
 
Het probleem zit hem in kleuren van de cellen, dit gebeurt op basis van Voorwaardelijke Opmaak
en dus lukt dat niet.
Dan zal je dus die Voorwaardelijke Opmaakregel in je VBA-code moeten opnemen.
 
Zoals sylvester al liet zien.
 
Zo eens proberen misschien:

Code:
Sub cobbe()
Dim cl As Range
On Error GoTo oeps
Workbooks.Open Filename:=ThisWorkbook.Path & "\" & "instellijst test.xlsx"
  For Each cl In Sheets(1).Range("A10:A25")
   If cl.Offset(0, 16) <= 44.2 Or cl.Offset(0, 16) >= 47.8 Then aant = aant + 1
  Next
ActiveWorkbook.Close savechanges:=False
Range("H10") = aant & "  Rode cellen in bestand instellijst test"
oeps:
End Sub
 
Cobbe, in post 1 staat:
- de datum wanneer deze cel is ingevuld (te vinden in kolom B van het andere werkblad) mag niet langer geleden zijn dan 2 weken.
ik denk dat die ene gekleurde cel daardoor niet in aanmerking komt om geteld te worden.
 
Laatst bewerkt:
Altijd fijn VBA in combinatie met samengevoegde cellen en een voorbeeldje waarbij de uitkomst altijd 0 zal zal zijn ivm de 14 dagen beperking.

Test deze eens
Code:
Sub VenA()
Workbooks.Open Filename:=ThisWorkbook.Path & "\" & "instellijst test.xlsx"
For Each cl In Columns(17).SpecialCells(-4123)
    If DateDiff("d", cl.Offset(, -15).Value, Date) <= 14 And (cl.Value >= 47.8 Or cl.Value <= 44.2) Then t = t + 1
Next cl
MsgBox t
ActiveWorkbook.Close 0
End Sub
 
Waarom proberen om gekleurde cellen te tellen die worden gekleurd door voorwaardelijke opmaak? In een hulpkolom kan je toch ook een formule zetten die een 1 geeft als er aan de voorwaarde wordt voldaan? In dat geval kan je simpelweg die hulpkolom optellen om je gewenste resultaat te krijgen...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan