Sumar solo días hábiles a fecha capturada

Me srivio de mucho la respuesta que me diste la ocasión pasada de antemano gracias...
Ahora tengo la duda de como le puedo hacer para agregar por ejemplo 10 días hábiles a la fecha capturada en semanas de lunes a viernes, es decir sin tomar en cuenta sábados y domingos y si es posible los días festivos tampoco tomarlos en cuenta, ya pude hacer que se agregaran 10 días con la función addDate("d", 10, date) y me funciona. Pero tengo que quitar esos días que te comento. Por otro lado, el envío de los mails si me funciona, pero envía un mensaje de advertencia donde dice que puede contener algún virus o algo parecido, ¿Hay forma de que no se abra ese mensaje?

1 respuesta

Respuesta
2
Te envío una función que no es mía, es de J.Bengoechea que deberás añadirle unas líneas al código para que te calcule también los sábados. Ya verás que es sencillo
Public Function SumaHábiles(FechaInicio As Date, Totaldías As Long)
' Suma días hábiles a una fecha para obtener otra
' Considera no hábiles los domingos y los festivos incluidos
' en una tabla llamada "Festivos" en la que existe un campo "Fecha"
' correspondiente a la festividad
Dim fechaTemp As Date, Domingos As Long, Festivos As Long
fechaTemp = DateAdd("d", Totaldías, FechaInicio)
'Ahora contamos los domingos y festivos de ese periodo; se los tendremos que
sumar
Domingos = DateDiff("ww", FechaInicio, fechaTemp, vbSunday)
Festivos = DCount("*", "Festivos", "[fecha] between #" & Format(FechaInicio
+ 1, "mm-dd-yy") & "# and #" & Format(fechaTemp, "mm-dd-yy") & "#")
' Como en los días añadidos también puede haber domingos y festivos,
' lo mejor es usar una llamada recursiva a SumaHábiles para
' añadirlos
If Domingos > 0 Or Festivos > 0 Then
fechaTemp = SumaHábiles(fechaTemp, Domingos + Festivos)
End If
SumaHábiles = fechaTemp
' (c) J.Bengoechea
End Function

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas