Consulta por código en macro

Estimados como puedo evaluar si un rango es mayor que 13 pero igual a 17

Cantidad = Application.WorksheetFunction.CountIfs(Range("A2:A500"), "<14")
Worksheets("EJERCICIO2").Cells(6, 5).Value = Cantidad

1 respuesta

Respuesta
1

El único número que cumple tu condición es el 17

Números mayores a 13:

14,15,16,17,18,19,20,21,22, etc (son números mayores a 13)

Ahora números mayores a 13 pero iguales a 17:

14,15,16,17,18, etc son mayores a 13, pero el único igual a 17, es el 17

Entonces la evaluación es así:

if cantidad = 17 then

'código

else

'código

end if

Perdona me explique mal esto debe contar las edades que están entre 13 y 17 años

Lo que necesitas es una fórmula matricial para hacer esa cuenta con varias condiciones.

Con esta instrucción te pone en la celda cells(6,5) la fórmula matricial para obtener la cuenta.

Worksheets("EJERCICIO2").Cells(6, 5).FormulaArray = _
"=COUNT(IF(R2C1:R500C1>=13,IF(R2C1:R500C1<=17,R2C1:R500C1)))"

si no quieres que te ponga la fórmula en la celda, entonces pon esto

Worksheets("EJERCICIO2").Cells(6, 5).FormulaArray = _
"=COUNT(IF(R2C1:R500C1>=13,IF(R2C1:R500C1<=17,R2C1:R500C1)))"
cuenta = Worksheets("EJERCICIO2").Cells(6, 5).Value
Worksheets("EJERCICIO2").Cells(6, 5).Value = cuenta

Si no quieres hacerlo con una fórmula matricial, entonces hay que hacer un ciclo:

For i = 2 To Range("A" & Rows.Count).End(xlUp).Row
    If Cells(i, "A") >= 13 And Cells(i, "A") <= 17 Then
        cantidad = candidad + 1
    End If
Next
Worksheets("EJERCICIO2").Cells(6, 5).Value = cantidad

Saludos. Dante Amor

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas