Cómo NO contar celdas sin valores en una fórmula/módulo en Excel

Para Dante Amor:

Me ha surgido otro problema: resulta que al poner la fórmula en las diferentes casillas, ésta me cuenta las celdas sin valor como un 0. En el caso de los aprobados no las cuenta pero en el caso de los suspensos me las cuenta como si fuesen menores de 5. Necesitaría añadir a la fórmula otra línea en la que solo cuente casillas con valor.

Pongo la fórmula de suspensos que modifiqué de la muestra de arriba:

Function CONTARCOLORSUSP(celdaOrigen As Range, rango As Range)
    Application. Volatile
    'Variables
    Dim celda As Range
    'Recorremos todas las celdas del rango
    For Each celda In rango
    'Compara la propiedad Interior.Color
        If celda.Interior.Color = celdaOrigen.Interior.Color Then
            If celda.Value < 5 Then
                CONTARCOLORSUSP = CONTARCOLORSUSP + 1
            End If
        End If
    Next celda
End Function

3 respuestas

Respuesta
1

Prueba así:

Function CONTARCOLORSUSP(celdaOrigen As Range, rango As Range) As Long
    Application. Volatile
    'Variables
    Dim celda As Range
    'Recorremos todas las celdas del rango
    For Each celda In rango
    'Compara la propiedad Interior.Color
        If celda.Interior.Color = celdaOrigen.Interior.Color And celda.Value < 5 And celda <> "" Then
                CONTARCOLORSUSP = CONTARCOLORSUSP + 1
            End If
    Next celda
End Function

Comentas

Abraham Valencia

Muchas gracias Abraham, la he probado y también funciona correctamente :)

De nada, un abrazo

Abraham Valencia

Respuesta
1

Te envío la función actualizada

Function CONTARCOLORSUSP(celdaOrigen As Range, rango As Range)
    Application. Volatile
    'Variables
    Dim celda As Range
    'Recorremos todas las celdas del rango
    For Each celda In rango
    'Compara la propiedad Interior.Color
        If celda.Interior.Color = celdaOrigen.Interior.Color Then
            If celda.Value > 0 And celda.Value < 5 Then
                CONTARCOLORSUSP = CONTARCOLORSUSP + 1
            End If
        End If
    Next celda
End Function

Sal u dos

Respuesta

No entiendo es mala costumbre de responder casi lo mismo y más cuando se nota que responden sin saber y solo tratando de cambiar un poco lo que se copian

¿Jueguito de puntitos? Que fea nota broders

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas