'*******************************************************************************
'* NumeroSemanaISO
'* Calcula el número de semana de la fecha pasada o por defecto de la actual
'* según la ISO 8601 la primera semana del año es la que tiene al menos cuatro
'* días del nuevo año
'* Argumentos: datFecha => Opcional Fecha de calculo
'* uso: NumeroSemanaISO (Date)
'* Attributed to Daniel Maher
'* ESH 20/04/05 16:05
'*******************************************************************************
Public Function NumeroSemanaISO(Optional datFecha As Date) As Integer
Dim lngFecha As Long
On Error GoTo NumeroSemanaISO_TratamientoErrores
If datFecha = 0 Then datFecha = Date
lngFecha = DateSerial(Year(datFecha - Weekday(datFecha - 1) + 4), 1, 3)
NumeroSemanaISO = Int((datFecha - lngFecha + Weekday(lngFecha) + 5) / 7)
NumeroSemanaISO_Salir:
On Error GoTo 0
Exit Function
NumeroSemanaISO_TratamientoErrores:
MsgBox "Error " & Err.Number & " en proc.: NumeroSemanaISO de Módulo: Módulo1 (" & Err.Description & ")"
Resume NumeroSemanaISO_Salir
End Function ' NumeroSemanaISO
Comentarios sobre la versión: Versión 1 (0)
No hay comentarios