bất kể ngày nào tôi gọi chức năng.cách gọn gàng để lấy ngày Thứ Sáu cuối cùng
Tôi biết tôi có thể viết một trường hợp chọn ngày trong tuần (bây giờ) tuyên bố, đã chỉ tự hỏi nếu có một cách neater để đi?
bất kể ngày nào tôi gọi chức năng.cách gọn gàng để lấy ngày Thứ Sáu cuối cùng
Tôi biết tôi có thể viết một trường hợp chọn ngày trong tuần (bây giờ) tuyên bố, đã chỉ tự hỏi nếu có một cách neater để đi?
Điều này có giúp bạn bắt đầu không? Tôi vừa thử nghiệm nhanh và có vẻ ổn.
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 Làm thế nào về chỉ Định dạng (Ngày- (ngày trong tuần (ngày, vbFriday) -1), "dd-mmm-yy") – THEn
@THEn - Vị trí tốt - sẽ hoạt động và làm cho mã ngắn gọn hơn. Tôi đoán đó chỉ là vấn đề về phong cách. –
DatePart('dddd', now)
hoặc
DatePart('dddd', #1/1/2010#)
... với một ngày rõ ràng.
DateAdd ("d", -1 - Weekday (Now), Now)
Chức năng này sẽ tìm thấy vào thứ Sáu hàng tuần của tháng trước, bạn có thể thay đổi nó cho phù hợp với các ngày khác như ngày hôm nay, nhưng bạn có thể thay đổi
Dim todaysDate Như ngày = Date.Today Dim oldDay As Integer Dim thisWeek Như ngày
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)
Thú vị câu hỏi. Tôi nghĩ ban đầu nó đọc: "Cách gọn gàng để có được ngày Thứ Sáu cuối cùng" - như hẹn hò với một cô gái. – Phil