Red de conocimiento informático - Material del sitio web - ¿Cómo escribir un juicio IF en VBA?

¿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