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



    Source: geocities.com/es/ensolva/Descargas/Documentos

               ( geocities.com/es/ensolva/Descargas)                   ( geocities.com/es/ensolva)                   ( geocities.com/es)