汎用関数/休日を取得するには

Last-modified: 2023-07-18 (火) 02:43:52

mdlDateTimeEx

Option Compare Database
Option Explicit
'休日を返す
Public Function IsHoliday(varDate As Variant) As Boolean

On Error GoTo ErrorHandler

    Select Case Weekday(varDate)
    Case 1, 7 '日曜日、土曜日
        IsHoliday = True
        Exit Function

    End Select

    IsHoliday = False

    Exit Function

ErrorHandler:

    Err.Raise Err.Number, Err.Source, Err.Description, Err.HelpFile, Err.HelpContext

End Function

Private Sub Test_IsHoliday()
    Debug.Assert IsHoliday(#7/16/2023#) = True  '日曜日
    Debug.Assert IsHoliday(#7/17/2023#) = False '月曜日
    Debug.Assert IsHoliday(#7/18/2023#) = False '火曜日
    Debug.Assert IsHoliday(#7/19/2023#) = False '水曜日
    Debug.Assert IsHoliday(#7/20/2023#) = False '木曜日
    Debug.Assert IsHoliday(#7/21/2023#) = False '金曜日
    Debug.Assert IsHoliday(#7/22/2023#) = True  '土曜日

End Sub