VBA/Excel/Access/Word/Date Functions/Weekday
Содержание
[убрать]Get the weekend between startDate and endDate
 
Function TestIfWeekend(startDate, endDate)
  Dim varDate
  TestIfWeekend = "XXX"                  
  If startDate = 0 Then Exit Function    
  If endDate = 0 Then Exit Function      
  If endDate - startDate < 2 Then Exit Function  
  For varDate = startDate To endDate - 1
    If WeekDay(varDate) = 7 Then
      TestIfWeekend = "OK": Exit Function
    End If
  Next varDate
End Function
   
The Weekday function values
 
Constant     Value 
vbSunday     1
vbMonday     2
vbTuesday    3
vbWednesday  4
vbThursday   5
vbFriday     6
vbSaturday   7
   
Use Weekday to get the weekday value from a date
 
Private Sub myTime1()
    Dim time As Date
    Dim theHour As Integer
    Dim theDayOfTheWeek As Integer
    time = Now
    theHour = Hour(time)
    theDayOfTheWeek = Weekday(time)
    If (theHour > 8) And (theHour < 17) Then
        If (theDayOfTheWeek > 0) And (theDayOfTheWeek < 6) Then
            MsgBox ("You should be at work!")
        Else
            MsgBox ("I love weekends")
        End If
    Else
        MsgBox ("You should not be at work!")
    End If
End Sub
   
Weekday(Date)
 
Sub Main2()
   Debug.Print "Today"s date is: " & Date
   Debug.Print "The day of the week is: " & Weekday(Date)
End Sub
   
Weekday(date) returns A Variant/Integer containing the day of the week represented by date
 
Sub dateDemo16()
   Debug.Print Weekday(#4/1/2006#)
End Sub