2015-03-30 2 views
0

В настоящее время у меня есть программа, которая находит даты в таблице и сравнивает их с диапазоном дат и использует их для чего-то еще. То, что я использовал в течение недели для сравнения, было сказано Date + 7, но я хочу просто взять даты текущей недели с понедельника по воскресенье и использовать это как диапазон дат.Найти даты, которые относятся к рабочей неделе понедельника и воскресенья

Я думаю, что путь к использованию будет заключаться в использовании текущего WeekNum и найти даты понедельника и воскресенья оттуда, но я честно понятия не имею, как начать делать это с VBA. Я был бы признателен, если бы у кого-то было направление, чтобы отправить меня, чтобы выполнить это, или если я даже думаю об этом правильно.

ответ

0

Вот простой способ, чтобы получить понедельник & следующее воскресенье текущая неделя:

Sub getadate() 
    Dim N As Long 

    N = Weekday(Date) 
    d1 = Date - N + 2 
    d2 = d1 + 6 
    MsgBox d1 & vbCrLf & d2 
End Sub 
+0

Удивительно, что сработало отлично. Это намного проще, чем я думал, и это помогло мне решить некоторые проблемы, которые я не понимал. Спасибо. – Austin

+0

@Austin благодарю вас за отзыв! –

0

Вы можете использовать формулу буднего дня, чтобы определить начало и конец недели. Формула будет выглядеть так:

startWeek = Date - (Weekday(Date, vbMonday) - 1)

и

endWeek = Date + (7 - Weekday(Date, vbMonday))

Позвольте мне знать, если это работает

Смежные вопросы