2009-10-16 2 views

ответ

32

Существует функция Будни, которая принимает дату в качестве аргумента и возвращает день (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 
+0

Пример использования, так как это было не указано в сообщении: 'IsWeekend (" 11/13/2017 ")' –

6

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

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

или

MOD(WEEKDAY(cell), 7) < 2 

в виде формулы.

с 1 является воскресенье и 0 в субботу

2

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

Selection.FormulaR1C1 = "= TEXT (WEEKDAY (R7c" + CStr (я) +», 1), «» дДД «»)»

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

например: - если вход 02-май-2013 , то он вернется чты -> (четверг) здесь переменный я представляю собой еще один столбец

9

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

MsgBox Weekday(MyDate, vbMonday) > 5 

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

Я поручил ему начать неделю в понедельник и так субботу будет 6 и воскресенье будет 7.

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