Días laborables.

Necesitaría una función en V.B.6.0 similar a la que existe en excel (días.lab) para realizar una diferencia de fechas quitando fines de semana y festivos y no encuentro nada. Me podrías echar una mano a conseguirla.

2 respuestas

Respuesta
2
Pues eso no existe bueno que yo conozca
Porque diferencia mucho del lugar donde este corriendo la aplicación ok
por ejemplo en mexico ay días festivos que no se festejan en Estados Unidos
Mira lo que tu ocupas saber es para que país son los días fectivos y así saber que días no son laborables
Bueno para que tengas una base definida que son los sábados y domingos
este es un ejemplo
Todo con ejemplos es mejorrrr
**************************************************
Function DiasTrabajados (BegDate As Variant, EndDate As Variant) As Integer
' Note that this function does not account for holidays.
Dim WholeWeeks As Variant
Dim DateCnt As Variant
Dim EndDays As Integer
BegDate = DateValue(BegDate)
EndDate = DateValue(EndDate)
WholeWeeks = DateDiff("w", BegDate, EndDate)
DateCnt = DateAdd("ww", WholeWeeks, BegDate)
EndDays = 0
Do While DateCnt < EndDate
If Format(DateCnt, "ddd") <> "Sun" And _
Format(DateCnt, "ddd") <> "Sat" Then
EndDays = EndDays + 1
End If
DateCnt = DateAdd("d", 1, DateCnt)
Loop
DiasTrabajados= WholeWeeks * 5 + EndDays
End Function
**********************************************
Esta función le envías dos fechas y te regresa el numero de días laborables como quien dice le quita los días de sábado y domingo
Solo lo que le falta es agregar lo equivalente a los días festivos pero eso es en relación a un país en concreto
bueno espero valoracion =5
Cualquier duda estamos en contacto bye
Respuesta
1
Tienes que escribir la función tu mismo. Debes tener una tabla en donde guardas los días festivos, Luego en un ciclo FOR, vas desde la fecha inicial a la final, preguntando si el día esta entre lunes y viernes, si es así verificas que no sea un festivo, si no lo cuentas, al final devuelves ese contador.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas