Hallo,
Ik wil graag van een serie getallen, de som berekenen. Hierbij hebben sommige getallen een Backgroundcolor Geel en sommigen niet. Ik wil ervoor zorgen dat alleen de getallen die de gele achtergrondkleur hebben worden opgeteld.
Nu heb ik een functie van internet gehaald, welke perfect werkt namelijk:
Function ColorFunction(rColor As Range, rRange As Range, Optional SUM As Boolean)
Dim rCell As Range
Dim lCol As Long
Dim vResult
lCol = rColor.Interior.ColorIndex
If SUM = True Then
For Each rCell In rRange
If rCell.Interior.ColorIndex = lCol Then
vResult = WorksheetFunction.SUM(rCell, vResult)
End If
Next rCell
Else
For Each rCell In rRange
If rCell.Interior.ColorIndex = lCol Then
vResult = 1 + vResult
End If
Next rCell
End If
ColorFunction = vResult
End Function
Het probleem is dat dit alleen werkt wanneer de cellen handmatig van een achtergrondkleur zijn voorzien. Mijn cellen worden geel gekleurd op basis van conditional formatting, dan werkt bovenstaande formule niet. Iemand een oplossing voor dit probleem?
Ik wil graag van een serie getallen, de som berekenen. Hierbij hebben sommige getallen een Backgroundcolor Geel en sommigen niet. Ik wil ervoor zorgen dat alleen de getallen die de gele achtergrondkleur hebben worden opgeteld.
Nu heb ik een functie van internet gehaald, welke perfect werkt namelijk:
Function ColorFunction(rColor As Range, rRange As Range, Optional SUM As Boolean)
Dim rCell As Range
Dim lCol As Long
Dim vResult
lCol = rColor.Interior.ColorIndex
If SUM = True Then
For Each rCell In rRange
If rCell.Interior.ColorIndex = lCol Then
vResult = WorksheetFunction.SUM(rCell, vResult)
End If
Next rCell
Else
For Each rCell In rRange
If rCell.Interior.ColorIndex = lCol Then
vResult = 1 + vResult
End If
Next rCell
End If
ColorFunction = vResult
End Function
Het probleem is dat dit alleen werkt wanneer de cellen handmatig van een achtergrondkleur zijn voorzien. Mijn cellen worden geel gekleurd op basis van conditional formatting, dan werkt bovenstaande formule niet. Iemand een oplossing voor dit probleem?