Excel Avanzado

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

Excel Avanzado
Logo Excel Avanzado

Último día del mes en Excel (VBA)

| Sin comentarios

Si bien desde las funciones se puede calcular el último día del mes en Excel, también es posible requerir lo mismo en VBA, para ello vamos a crear una UDF (función definida por el usuario) que nos proporcione el número con correspondiente. 

La función ULTIMODIA  creada en VBA tiene objetivo de encontrar el número del último día del mes deseado, este comando devuelve un número. Esta función tiene dos argumentos: el número del mes (por ejemplo, enero es 1 y setiembre es 9) y el año, que debe ser un número positivo.

Sintaxis:

Último día del mes en Excel VBA

¿Cómo crear el código?

Primero, se debe evaluar si el año es bisiesto. Un año bisiesto es múltiplo de 4, múltiplo de 400, pero no múltiplo de 100. Entonces, se generará ese código y, luego, crearemos una variable dicotómica que nos ayudará las demás condiciones.

Último día del mes en VBA

Segundo, se considera que hay meses que terminan en el día 30, otros en el día 31 y, el caso especial, febrero que dependerá de la condición del año (si es bisiesto o no). Entonces, se crea una estructura condicional en que la función mostrará el día según lo deseado por el usuario. Aquí se usará la variable dicotómica que se creó anteriormente para condicionar al mes de febrero.

Último día del mes UDF

Tercero, se debe validar los datos para que solo funcione sobre los doce meses que hay en un año, además, se impondrá una restricción que solo el comando se ejecute para números positivos (incluyendo el cero). Para que el usuario se dé cuenta de lo que se está equivocando, se le agregará un mensaje que especifico el error.

 

Finalmente, el código completo se puede descargar desde el siguiente enlace: Último día del mes en Excel VBA

  

Por: Juan Muchotrigo

Deja un comentario

Los campos requeridos estan marcados con *.