saber el último día laborable del mes |
Responder |
Autor | |
joanka
Habitual Unido: 07/Abril/2021 Localización: Lleida Estado: Sin conexión Puntos: 140 |
Tema: saber el último día laborable del mes Enviado: 07/Abril/2021 a las 12:09 |
Hola a todos, He buscado pero exactamente no encuentro el modo de saber el último día laborable del mes. tengo este código que me dice el último día. Dim ultim As Date Me.fecha = Date ultim = DateSerial(Year(fecha), month(fecha) + 1, 0) Me.last = ultim A ver si alguien me puede ayudar, gracias!!! |
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 14025 |
Enviado: 07/Abril/2021 a las 13:06 |
Hola, bienvenido.
Ese es el primer paso. Los pasos a dar para encontrar el último día laborable del mes son: 1- encontrar el último día del mes 2- comprobar si el día es laborable, si no lo es retroceder un día y volver a comprobar Para comprobar si un día es laborable usa la función Weekday. |
|
joanka
Habitual Unido: 07/Abril/2021 Localización: Lleida Estado: Sin conexión Puntos: 140 |
Enviado: 07/Abril/2021 a las 13:14 |
Hola, Gracias por contestar. He probado con weekday con la información que he buscado, pero no lo sé implementar en el código. Gracias.
|
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 14025 |
Enviado: 07/Abril/2021 a las 13:46 |
¿Y qué has probado? ...
No tiene mucho misterio: Weekday(Fecha) te devuelve un número del 1 al 7 que te dice si es lunes, martes .... |
|
lbauluz
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 29/Marzo/2005 Localización: La Gloria Estado: Sin conexión Puntos: 3861 |
Enviado: 07/Abril/2021 a las 16:20 |
Como lo tienes casi hecho, te lo pongo... pero que no se haga costumbre :)
Sub Laborable() Dim dtHoy As Date Dim dtUltDia As Date dtHoy = Date ' Hoy dtUltDia = DateSerial(Year(dtHoy), Month(dtHoy) + 1, 0) ' Último día del mes If Weekday(dtUltDia, vbMonday) > 5 Then MsgBox "Finde" Else MsgBox "Laborable" End If End Sub Luis Edito: OJO, en esa función solo se mira si es de lunes a viernes o no, en ningún caso se evalúan festivos
Editado por lbauluz - 07/Abril/2021 a las 16:22 |
|
El Búho es un pajarraco
|
|
joanka
Habitual Unido: 07/Abril/2021 Localización: Lleida Estado: Sin conexión Puntos: 140 |
Enviado: 07/Abril/2021 a las 17:16 |
Hola, Gracias por reponder. Ya lo había probado, lo que en la ayuda de microsoft no había visto lo de ">5", igualmente no me da el resutado deseado. El resultado que quiero que me de en me.last es la fecha. Me da como resultado una fecha no coincidente. Por ejemplo en febrero, el último día laborable de los 28 sería el 26, necesitaría que me.last = 26/02/2021 Dim ultim As Date Me.fecha = Date ultim = Weekday(DateSerial(Year(fecha), month(fecha) + 1, 0), vbMonday) > 5 Me.last = ultim |
|
xavi
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Terrassa-BCN Unido: 10/Mayo/2005 Localización: Catalunya |||| Estado: Sin conexión Puntos: 14738 |
Enviado: 07/Abril/2021 a las 18:09 |
Hola,
Jesus te ha indicado el camino a seguir: localizar el último día del mes y localizar el anterior hábil. Yo tengo una función que devuelve el anterior hábil a una fecha dada y que permite discriminar si los sábados son laborables o no
Esa función esperaría el primer día del mes y buscaría el anterior hábil. Me!Ultimo = DameAnteriorHabil("01/03/2021", False) Esa línea devuelve 26/02/2021. También puedes pasar el argumento fecha como un cálculo para, en base a la fecha actual, calcular el último hábil del mes en curso: Me!Ultimo = DameAnteriorHabil(DateSerial(Year(Date), Month(Date)+1, 1), False) Esa línea devuelve hoy, 30/04/2021 Un saludo Editado por xavi - 07/Abril/2021 a las 18:09 |
|
joanka
Habitual Unido: 07/Abril/2021 Localización: Lleida Estado: Sin conexión Puntos: 140 |
Enviado: 07/Abril/2021 a las 20:08 |
Perfecto, solucionado. Gràcies!!!
|
|
Responder | |
Tweet
|
Ir al foro | Permisos de foro Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |