En vba último día del mes actual

Si tengo en una celda la fórmula hoy(), cómo puedo obtener el último día de esa fecha

2 respuestas

Respuesta
3

Te anexo el código para obtener el último día del mes de una fecha, es importante que consideres también el año de la fecha, ya que existen años bisiestos, entonces es necesario tomar el año de la fecha y el mes de la fecha.

Sub ultdia()

    UltimoDia = Day(DateSerial(Year([C4]), Month([C4]) + 1, 1) - 1)

End Sub


Cambia C4 por la celda en donde tienes la fórmula: Hoy()

Saludos. Dante Amor

Respuesta
2

Otro modo:

MsgBox Day(Application.EoMonth([c4], 0))

Pero no me regresa el último día del mes

En la celda tengo 1/feb/2015 y me regresa 31

Cambié a 1/feb/2016 y me debe regresar 29 y me regresa 31

Cambié a 4/jun/2015 y también regresa 31

Las tres fechas que has comentado las fui -sucesivamente- escribiendo en la celda C4 y tras ejecutar la línea de código sugerida siempre me ha brindado la info correcta.
Por lo que me pregunto (y te pregunto): ¿Te diste cuenta que el día (de fin de mes) que te devuelve coincide con la transposición entre día y mes?...
O sea: dices "1/feb" pero te devuelve el último día del "2/ene".
Dices "1/feb" pero te devuelve como si hubieses ingresado "2/ene"...
Yo que tú analizaría "la cosa" por ese lado.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas