Microsoft Access 掲示板

車庫証明申請の場合の受付日について / 1

6 コメント
views
4 フォロー
1

祝日を含めての許可日について の関連質問でしょうか

結論から申し上げると、関数の第二引数に負の数を指定できるようにロジックを変更すればいいでしょう
 

Public Function 許可日(申請日 As Variant, Optional 営業日数 As Long = 3) As Variant
    Dim 営業日 As Long
    Dim 増量   As Long
    許可日 = 申請日
    If IsNull(許可日) Or Abs(営業日数) <= 1 Then Exit Function
    
    増量 = IIf(営業日数 > 0, 1, -1)
    Do
        許可日 = 許可日 + 増量
        Select Case Weekday(許可日)
        Case vbMonday To vbFriday
            If IsNull(DLookup("祝日名", "T_祝日", "日付=#" & 許可日 & "#")) Then
                営業日 = 営業日 + 増量
            End If
        End Select
    Loop Until 営業日 = 営業日数 - 増量
End Function

 

Sub test()
    '呼び出し例
    Debug.Print "許可日から申請日を求める -> " & 許可日(#10/15/2024#, -2)
    Debug.Print "申請日から許可日を求める -> " & 許可日(#10/11/2024#, 2)
End Sub
通報 ...