Excel Avanzado

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

Excel Avanzado

Select Case aplicado a beneficios por pago puntual

| Sin comentarios

En está aplicación el Select Case puede ser utilizado para el cálculo de beneficios que una municipalidad por ejemplo, otorga a los buenos pagadores de autovalúo al final del año.

Supongamos que una política de incentivo de una municipalidad, es que al final del año otorgue a los vecinos descuentos en el pago de su cuota final de autovalúo , de acuerdo al número de meses que este pago puntualmente durante el año.

En nuestro ejemplo, hemos considerado que los incentivos serán un porcentaje del pago de la cuota N° 12 (cuota en el mes de diciembre).

  • Un primer caso, es que el vecino 1 pago entre 1 a 4 meses puntualmente,  por lo que su descuento de pago será un 10% de su cuota N°12.
  • El segundo caso, es que el vecino 1 pago entre 5 a 8 meses puntualmente,  por lo que su descuento de pago será un 20% de su cuota N°12.
  • Por último, el tercer caso es que el vecino 1 pago entre 9 a 11 meses puntualmente,  por lo que su descuento de pago será un 30% de su cuota N°12.

En nuestro cuadro, se puede apreciar que por ejemplo nuestro Municipio es conformado por 7 vecinos, los cuales pagan un autoevalúo distinto y tienen un número de meses que pagaron puntualmente.

Cuadro N° 1

Select case pago puntual 01

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

Con dichos datos, nuestra macro calculará los descuentos de pago y el pago de autoevalúo  en función a los incentivos establecidos anteriormente.  A continuación se muestra como nuestra función con Select Case:

Sub Pago()
n = Cells(Rows.Count, 1).End(xlUp).Row
For x = 1 To n - 6
Tiempo = Cells(6 + x, 3).Value

Select Case Tiempo
Case 1 To 4
Cells(6 + x, 4).Value = Cells(6 + x, 2).Value * 0.1
Case 5 To 8
Cells(6 + x, 4).Value = Cells(6 + x, 2).Value * 0.2
Case 9 To 11
Cells(6 + x, 4).Value = Cells(6 + x, 2).Value * 0.3
End Select

Cells(6 + x, 5).Value = Cells(6 + x, 2).Value - Cells(6 + x, 4).Value
Next
End Sub

Cabe resaltar, que si bien nuestro ejemplo considera solo a 7 vecinos, nuestra municipalidad puede contar con una cantidad mucho mayor; por lo que en la programación del VBA no hemos limitado el número de celdas que puedan contener datos. Para ello, hemos definido un valor "n" como "n = Cells(Rows.Count, 1).End(xlUp).Row" con la finalidad de que nos halle el número total de celdas que contienen información en nuestra hoja de datos. Con ello, podemos definir mediante la función For que nuestra macro se aplique desde la celda 7 ( que en nuestro ejemplo es el que contiene el primer dato) hasta la última celda con información.

En el cuadro N° 2 se muestran los resultados de descuento y pago de cuota, una vez que hemos aplicado nuestra macro Select Case:

Cuadro N°2

Select case pago puntual 02

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

Para mayor análisis se adjunta el excel con el aplicativo en Select Case:

Select Case a beneficios por buen pagador

Elaborado por: Ericka Ramirez

Deja una respuesta

Los campos requeridos estan marcados con *.