¿Cómo escribir un juicio IF en VBA?
Fórmula existente
=IF(OR(H1="El cliente paga",I1=0),0,ROUND(IF(I1>99999,99999,IF(I1 <2695 ,2695,I1))*19%,2))
De acuerdo con su fórmula existente, el juicio lógico es el siguiente
Primero, la celda H6 es igual a "Presunción del cliente" y la celda I6=0, cuando se cumple cualquiera de las dos condiciones, el valor de la celda M6 es 0, en caso contrario se realiza el siguiente cálculo de datos
Se divide en 2 condiciones
1.1 Primero La primera condición
I6>9999, luego M6=9999*0.19, se redondea el resultado y se mantiene 2 como decimal
1.2 La segunda condición se divide en dos condiciones
2.1 La segunda primera condición
I6<2695, luego M6=2695*0.19, se redondea el resultado y se mantiene 2 como decimal
2.2 La segunda segunda condición
i6>2695, luego M6=I6*0.19, el resultado se redondea y se mantiene como decimal 2
El código final es el siguiente
El nombre de la hoja de trabajo de demostración en este ejemplo es Hoja1. Si es diferente, modifique Public?Sub?tt()
vSheetName?=?"Sheet1"
Sheets(vSheetName). Seleccione
If?Range("H1 ")?=?"El cliente paga"?O?Range("I1")?=?0?Entonces
If?Range(" I1")?>?9999?Entonces
Rango("J1")?=?Round(9999?*?0.19,?2)
Fin?Si
Si?Rango("I1")?< ?2695?Entonces
Rango("J1")?=?Round(2695?*?0.19,?2)
Else
Rango("J1 ")?=?Round(Rango("I1")?*?0.19,?2)
Fin?Si
Else
Rango("J1 ")?=?0
¿Fin?Si
Fin?Sub