Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

Uso de Select Case para sistema progresivo de impuesto a la renta

| Sin comentarios

Introducción
Select Case nos permite establecer condiciones de una naturaleza determinada que uno o más datos pueden cumplir. De acuerdo al caso que cumplan, el macro enviará un mensaje, asignará un valor, ejecutará un proceso, etc. La diferencia básica entre "Select Case" e "If,then,else"  radica en que el primero puede trabajar con varios casos, mientras que el segundo solo puede trabajar con dos (una condición y el "resto")

Un caso muy interesante y útil es la aplicación de "Select Case" para identificar la tasa tributaria que se debe pagar sobre los ingresos anuales de una persona. En países como Estados Unidos, este regimen es progresivo; es decir, a mayores ingresos anuales, mayor será la proporción que se pagará en forma de ingresos. A continuación, utilizaré Select Case para crear una calculadora con VBA en Excel y obtener la tasa impositiva correspondiente a un determinado nivel de ingresos anual EEUU.  Las tasas y brechas de ingresos consideradas en el ejemplo están basadas en las leyes del gobierno federal vigentes en el 2011.

El código

Creamos el Macro con el nombre deseado y declaramos la variable IngresoAnual como variant. No podemos declarla como Integer debido a que el margen superior de ingresos es demasiado alto.

A continuación, creamos el siguiente message box en VBA:   IngresoAnual = InputBox("Ingreso anual en dólares")
Esto nos permitirá escribir nuestro ingreso anual y otorgarle valor a la variable.

tarea2 imagen2 Uso de Select Case para sistema progresivo de impuesto a la renta

Luego creamos Select Case IngresoAnual para  establecer los intervalos de ingreso (condiciones o casos) bajo los cuales ofreceremos una determinada tasa de impuestos a través de un message box. Asimismo, le pediremos a excel que escriba el resultado en la primera celda de la Hoja 1.

tarea2 imagen1 300x168 Uso de Select Case para sistema progresivo de impuesto a la renta

(Para una mayor visualización de la imagen, hacer click en la misma)

Si el ingreso  anual es de 3423 dólares, obtendríamos el siguiente message box

tarea2 imagen3 Uso de Select Case para sistema progresivo de impuesto a la renta

Nota
Se adjunta el ejemplo en un documento excel. Para hacer la aplicación más interactiva, se añadió un botón en la Hoja 1, el cual ejecuta el macro. Además, se hace una pequeña aplicación de "If,then,else" al final del código para calcular la cantidad total a pagar en forma de impuestos, lo cual hace a la  calculadora más interesante.
Aplicacion de Select Case para sistema de impuestos progresivo

___________

Elaborado por: Gonzalo Irujo Palacios

Deja una respuesta

Los campos requeridos estan marcados con *.