Intervalo de fechas de una semana del año
27.02.2008
La siguiente función devuleve una cadena de texto en la que se indica el día inicial y final de una semana determinada del año, que hay que aportar a la función:
Function IntervaloSemana(NSemana As Integer) As String
On Error GoTo Err_IntervaloSemana
Dim NSem As Integer
Dim DPSYear, PDIntervalo, UDIntervalo As Date
If NSemana < 1 Or NSemana > 52 Then MsgBox “La semana debe estar comprendida entre 1 y 52″, vbCritical + vbOKOnly: Exit Function
If Weekday(”01/01/” & Year(Date), vbMonday) > 1 Then NSem = NSemana – 2 Else NSem = NSemana – 1
DPSYear = DateAdd(”d”, 8 – Weekday(”01/01/” & Year(Date), vbMonday), “01/01/” & Year(Date))
PDIntervalo = DateAdd(”d”, NSem * 7, DPSYear)
UDIntervalo = DateAdd(”d”, 6, PDIntervalo)
IntervaloSemana = “Semana: ” & NSemana & “, desde el ” & PDIntervalo & ” al ” & UDIntervalo
Exit_IntervaloSemana:
Exit Function
Err_IntervaloSemana:
MsgBox Err.Description
Resume Exit_IntervaloSemana
End Function