Función hecha exprofeso para VALLO.
Entran dos fechas y devuelve los días laborables entre ellas (cuenta el primer día, pero no el último).
La puedes modificar y te dará: los días naturales, las semanas y los días de pico, los sábados, los domingos y la suma de los no laborables.
Function laborables(desde As Date, hasta As Date) As Integer
Dim totalDias, domingos, sabados, semanas
Dim numDia, dias, labor, noLaborables
totalDias = DateDiff("d", desde, hasta)
semanas = Int(totalDias / 7)
numDia = WeekDay(desde)
dias = totalDias Mod 7
sabados = 0
domingos = 0
If totalDias >= 7 Then
sabados = semanas
domingos = semanas
End If
If dias = 6 Then
If numDia = 2 Then
sabados = sabados + 1
domingos = domingos
ElseIf numDia = 1 Then
sabados = sabados
domingos = domingos + 1
Else
sabados = sabados + 1
domingos = domingos + 1
End If
End If
If dias = 5 Then
If numDia = 2 Then
sabados = sabados
domingos = domingos
ElseIf numDia = 1 Then
sabados = sabados
domingos = domingos + 1
ElseIf numDia = 3 Then
sabados = sabados + 1
domingos = domingos
Else
sabados = sabados + 1
domingos = domingos + 1
End If
End If
If dias = 4 Then
If numDia = 2 Or numDia = 3 Then
sabados = sabados
domingos = domingos
Else