Macro: condición para sacar el residuo, si cumple, calcular múltiplo inferior + 5, si no cumple, calcular múltiplo inferior +9

Necesito sacar el residuo de la columna "E" hasta el final de la ultima fila con datos, la condición es que si el residuo es menor a 6, el resultado debe ser redondeado a 5, si no, redondear a 9.

Ejemplos:
261.464 residuo = 1.464 < 6, cumple condición, redondea a 265
296.148 residuo = 6.148 <6, no cumple condición, redondea a 299, etc. Hasta el final de la hoja con datos.

Con fórmula es así, pero yo lo necesito con una macro, ya le intente con MOD pero no logro encontrar o más bien desarrollar el procedimiento.

=SI(RESIDUO(E2,10)<6,
MULTIPLO.INFERIOR(E2,10)+5,
MULTIPLO.INFERIOR(E2,10)+9)

1 respuesta

Respuesta
1

¿Es esto lo que ocupas?, si es asi ....esta es la macro 

Sub analizar_datos()
With Range("e1").CurrentRegion.Columns(4)
    .Formula = "=If(If(E1-quotient(E1,10)*10<6,1,0)=0,quotient(E1,10)*10+9,quotient(E1,10)*10+5)"
    .Value = .Value
End With
End Sub

¡Gracias! quedo perfecto, bueno solo le muevo acá para que inicie en la fila 2, ya que llevara un encabezado.

Saludos, excelente día.

Si vas a poner títulos esta es la macro

Sub analizar_datos()
filas = Range("e1").CurrentRegion.Rows.Count
With Range("f2").Resize(filas - 1)
    .Formula = "=If(If(E2-quotient(E2,10)*10<6,1,0)=0,quotient(E2,10)*10+9,quotient(E2,10)*10+5)"
    .Value = .Value
End With
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas