¡Vaya! Aunque la expectativa no ha cambiado sí que lo hace el escenario. Cosas como formato condicional, que la celdas no están vacías, que no todo lo colorea con condicional sino que aparte usted colorea de manera manual y aleatoria cambian bastante la posible solución.
En términos simples BVA no alcanza de manera directa a leer el color del condicional pero aún así, sí se puede hacer algo, ahora el que usted pinte la celdas cambia la lectura del código, así que le recomiendo tener dos. Uno que primero cuente los condicionales y otro que le discrimine los coloreados manuales.
Necesita dos códigos:
Function ContarCeldasSinCadenas(rng As Range) As Long
Dim celda As Range
Dim conteo As Long
Dim texto As String
conteo = 0
For Each celda In rng
texto = celda.Value
If InStr(texto, "657") = 0 And InStr(texto, "666") = 0 And InStr(texto, "658") = 0 Then
conteo = conteo + 1
End If
Next celda
ContarCeldasSinCadenas = conteo
End Function
Function ContarPorColor(rango As Range) As Long
Dim celda As Range
Dim contador As Long
contador = 0
For Each celda In rango
If celda.Interior.ColorIndex <> -4142 Then
contador = contador + 1
End If
Next celda
ContarPorColor = contador
End Function
Y después a un resultado le resta el otro.
Con eso debe llegar al resultado que busca.
Saludines