kurukuru-papaのブログ

主に、ソフトウェア開発に関連したメモを書き溜めたいと思います。

営業日チェック関数

ある日付が、営業日かどうかをチェックする関数を作りました。祝日を指定すれば、それも考慮してチェックを行います。

' 指定日が営業日であるかチェックする関数
' 2006/11/05 新規作成
Public Function U_IsBusinessDay(argDate As Date) As Boolean
    Dim holidayArr As Variant
    Dim weekday As Integer
    Dim result As Boolean
    Dim i As Integer
    
    holidayArr = Array("2006-10-9", "2006-11-3", "2006-11-23", "2006-12-23")
    
    weekday = WorksheetFunction.weekday(argDate)
    If 2 <= weekday And weekday <= 6 Then
        result = True
        For i = 0 To UBound(holidayArr)
            If holidayArr(i) = argDate Then
                result = False
                'Exit For
            End If
        Next
    Else
        result = False
    End If
    
    U_IsBusinessDay = result
End Function

ただし、この書き方だと、祝日を関数内で定義しているので、汎用性が悪いです。外部定義する方法を検討する必要があります。