Подтвердить что ты не робот

Как определить, выпадет ли дата в выходные?

Учитывая дату ввода, как я могу определить, выпадает ли день на выходные?

4b9b3361

Ответ 1

Существует функция Weekday, которая принимает дату в качестве аргумента и возвращает день (1, 2, 3 и т.д.).

Возвращаемые значения:

vbSunday (1)  
vbMonday (2)  
vbTuesday (3)  
vbWednesday (4)  
vbThursday (5)  
vbFriday (6)  
vbSaturday (7)  

Предполагая, что выходные дни - суббота и воскресенье, функция будет выглядеть так:

Public Function IsWeekend(InputDate As Date) As Boolean
    Select Case Weekday(InputDate)
        Case vbSaturday, vbSunday
            IsWeekend = True
        Case Else
            IsWeekend = False
    End Select
End Function

Ответ 2

Это самый прямой способ определить, выпадет ли MyDate в выходные:

MsgBox Weekday(MyDate, vbMonday) > 5

Функция Weekday() имеет необязательный второй параметр, который сообщает ему, в какой день недели начинается неделя. Функция Weekday() возвращает целое число от 1 до 7.

Я проинструктировал его начать неделю в понедельник и поэтому СУББОТА будет 6, а ВОСКРЕСЕНЬЕ будет 7.

Ответ 3

Или вы можете использовать это:

OR(MOD(WEEKDAY(cell), 7)=0, MOD(WEEKDAY(cell), 7)=1)

или

MOD(WEEKDAY(cell), 7) < 2

как формулу.

так как 1 - воскресенье и 0 - суббота

Ответ 4

Формула для преобразования даты в неделю

Selection.FormulaR1C1 = "= TEXT (WEEKDAY (R7C" + CStr (i) + ", 1)," "ddd" ")"

это вернет день

например: - если ввод 02-май-2013 то он вернет Thu → (четверг) здесь переменная я представляет собой другой столбец