Visual Basic para Aplicaciones - contar dias hábiles

Life is soft - evento anual de software empresarial
 
Vista:

contar dias hábiles

Publicado por luis nelson (1 intervención) el 16/01/2009 20:53:55
hola amigos programadores, estoy de vuelta aca solicitando ayuda, estoy haciendo un sistema en donde tengo que notificar al personal los días de licencia,
por ejemplo en fecha 201/01/2009 le notifico a un personal 14 días hábiles de licencia y necesito que me devuelva la fecha en que se debe presenta a trabajar, sin contar sabados, domingos y feriados. o sea la licencia son días hábiles.- desde ya muchas gracias saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JuanC

RE:contar dias hábiles

Publicado por JuanC (565 intervenciones) el 17/01/2009 21:59:43
Option Explicit

'//By JuanC - Ene. 2009

Sub test()
Dim fIni As Date, fFin As Date
Dim i%, f As Date, iCount%
Dim sFeriados$, sDiaActual$
Dim iDiasLicencia%

'//Días y mes correspondientes a los feriados
sFeriados = "01/01" & _
"01/05,25/05," & _
"20/06" & _
"09/07," & _
"17/08," & _
"11/09," & _
"12/10," & _
"08/12,25/12"

'//Fecha inicial
fIni = "17/01/2009"

'//Total de días de licencia (días hábiles)
iDiasLicencia = 14

For i = 1 To 30
f = fIni + i
If Weekday(f) <> 7 And Weekday(f) <> 1 Then '//No es Sábado ni Domingo...
sDiaActual = Format(Day(f), "00") & "/" & Format(Month(f), "00")
If Not InStr(sFeriados, sDiaActual) > 0 Then '//No es feriado...
iCount = iCount + 1
If iCount = iDiasLicencia Then
fFin = f
GoTo fin
End If
End If
End If
Next

fin:
MsgBox "Fecha de inicio: " & fIni & vbCrLf & _
"Fecha de regreso: " & fFin & vbCrLf & _
"Total días (hábiles): " & iDiasLicencia, vbInformation, "Info"
End Sub

Saludos desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar