sin importar el día que llamo a la función.manera ordenada de obtener la fecha del último viernes
Sé que podría escribir un caso seleccionado de día de la semana (ahora), me preguntaba si había una manera más ordenada de hacerlo.
sin importar el día que llamo a la función.manera ordenada de obtener la fecha del último viernes
Sé que podría escribir un caso seleccionado de día de la semana (ahora), me preguntaba si había una manera más ordenada de hacerlo.
¿Este para que empiece? Acabo de hacer una prueba rápida y parecía funcionar bien.
Private Sub LastFriday()
Dim iWeekday As Integer, LastFridayDate As Date
iWeekday = Weekday(Now(), vbFriday)
LastFridayDate = Format(Now - (iWeekday - 1), "dd-mmm-yy")
End Sub
+1 ¿Qué tal solo Formato (Fecha- (día de la semana (fecha, vbFriday) -1), "dd-mmm-yy") – THEn
@THEn - Buen lugar - eso funcionará y hace que el código sea más breve. Supongo que es solo una cuestión de estilo. –
DatePart('dddd', now)
o
DatePart('dddd', #1/1/2010#)
... con una fecha explícita.
DateAdd ("d", -1 - Día de la semana (ahora), ahora)
Esta función encontrará todos los viernes para el último mes, usted puede cambiar para adaptarlo a otros días como el Lunes "oldDay = 2", etc el método funcionará a partir de hoy, pero se puede cambiar eso para que se adapte
Dim todaysDate Como Fecha = Date.Today Dim oldDay As Integer Dim thisWeek Como Fecha
Dim firstWeek As Date
Dim secondWeek As Date
Dim thirdWeek As Date
Dim fourthWeek As Date
''finds the Friday of the end of the current week
''No mattter what day you are working
Dim daycount As Integer
oldDay = Weekday(todaysDate)
thisWeek = todaysDate
If oldDay < 6 Then
daycount = 6 - oldDay
thisWeek = thisWeek.AddDays(+daycount)
ElseIf oldDay > 6 Then
daycount = oldDay - 6
thisWeek = thisWeek.AddDays(-daycount)
End If
firstWeek = thisWeek
secondWeek = thisWeek
thirdWeek = thisWeek
fourthWeek = thisWeek
fourthWeek = firstWeek.AddDays(-28)
thirdWeek = thirdWeek.AddDays(-21)
secondWeek = secondWeek.AddDays(-14)
firstWeek = firstWeek.AddDays(-7)
pregunta interesante. Inicialmente pensé que decía: "Manera ordenada de obtener la FECHA del último viernes", como cuando salías con una chica. – Phil