Ayuda con creación de una función en 2003

Me gustaría crear una función que se llamará NUMERODESEMANA que siguiera esta ecuación:
NUMERODESEMANA(x)=ENTERO((x-FECHA(AÑO(x-DIASEM(x-1)+4);1;3)+DIASEM(FECHA(AÑO(x-DIASEM(x-1)+4);1;3))+5)/7)
Si lo meto a pelo en el VB me da error porque no debe de reconocer las funciones.
Function NUMERODESEMANA(x)
NUMERODESEMANA(x)=ENTERO((x-FECHA(AÑO(x-DIASEM(x-1)+4);1;3)+DIASEM(FECHA(AÑO(x-DIASEM(x-1)+4);1;3))+5)/7)
End function
Me imagino que es porque no se podrá copiar así tal cual de excel, pero en excel funciona. Tengo que usar esta fórmula de forma muy continuada y se hace un poco cansado el hacerlo casi a mano cada vez...
Aclaro que uso el Excel 2003.

1 respuesta

Respuesta
1
Public Function NUMERODESEMANA(ByVal x As Date) As Byte
    NUMERODESEMANA = Int((x - DateSerial(Year(x - Weekday(x - 1) + 4), 1, 3) + Weekday(DateSerial(Year(x - Weekday(x - 1) + 4), 1, 3)) + 5) / 7)
End Function

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas