Tienes que hacer una tabla En éste caso Fiestas con un campo fecha y otro
descripcion, metes los festivos del año, introduces las funciones en un
módulo y luego llamas a la función DiasLaborables
Public Function DiasLaborables( _
ByVal FechaDesde As Date, _
ByVal FechaHasta As Date) _
As Long
Dim datAuxiliar As Date
Dim lngDiaSemana As Long
Dim lngDias As Long
If FechaHasta < FechaDesde Then
datAuxiliar = FechaDesde
FechaDesde = FechaHasta
FechaHasta = datAuxiliar
End If
For datAuxiliar = FechaDesde To FechaHasta
lngDiaSemana = DatePart( _
"w", _
datAuxiliar, _
vbMonday)
'vbMonday considera el lunes como día Nº 1
Select Case lngDiaSemana
Case 1 To 6 'lunes a Sabado
If EsDiaLaboral(datAuxiliar) Then
lngDias = lngDias + 1
End If
End Select
Next datAuxiliar
DiasLaborables = lngDias
End Function
Public Function EsDiaLaboral( _
ByVal Dia As Date) _
As Boolean
Dim strFecha As String
Dim varPrueba As Variant
strFecha = "#" _
& CStr(Month(Dia)) _
& "/" _
& CStr(Day(Dia)) _
& "/" _
& CStr(Year(Dia)) _
& "#"
varPrueba = DLookup("Fecha", "Fiestas", "[Fecha] =" _
& strFecha)
'Si encuentra la fecha en la tabla devuelve esa fecha
'que se asigna a la variable varPrueba
'Si no existe la fecha varPrueba valdrá Null
'IsNull devuelve True o False
EsDiaLaboral = IsNull(varPrueba)
End Function
Saludos Iñaki
               (
geocities.com/es/ensolva/Descargas)                   (
geocities.com/es/ensolva)                   (
geocities.com/es)