指定された日付より前の一番近い月曜日の日付を取得する
 サンプルでは、指定された日付が何曜日であるかを整数で返す
Weekday関数を使って直近の月曜日を取得しています。

 まず、指定した日付が日曜日だったら6日前の日付を取得します。
 指定した日付が月曜日だったらその日を返します。
 それ以外だったら、指定された日付の曜日を表す整数値に2を加算した日数分を
指定した日付から引いて取得しています。

● サンプル ●

Sub GetMonDate()
    Dim myMon As Date

    Select Case Weekday(Date)
        Case 1       '日曜日
            myMon = Date - 6
        Case 2       '月曜日
            myMon = Date
        Case 3 To 7  '火曜日から土曜日
            myMon = Date - Weekday(Date) + 2
    End Select
    
    MsgBox "今日より前の一番近い月曜日は" & myMon & "です"

End Sub

● 詳細 ●

 Weekday関数の構文は、次のとおりです。

<構文> Weekday(date, [firstdayofweek])

 引数dateは、日付を表す数式または文字列式を必ず指定します。
 引数firstdayofweekは、省略可能です。週の第1日目の曜日を指定する定数です。
この定数を指定しない場合は、定数vbSundayを指定したとみなされます。 
 引数firstdayofweekの設定値は次のとおりです。

定数      値  内容
vbUseSystem   0   NLS APIの設定値を使います
vbSunday    1   (既定値)日曜
vbMonday    2   月曜
vbTuesday    3   火曜
vbWednesday   4   水曜
vbThursday   5   木曜
vbFriday    6   金曜
vbSaturday   7   土曜


 Weekday関数は、次のいずれかの値を返します。

定数     値  内容 
vbSunday   1  日曜 
vbMonday   2  月曜 
vbTuesday  3  火曜 
vbWednesday 4  水曜 
VbThursday  5  木曜 
VbFriday   6  金曜 
VbSaturday  7  土曜 

Access97/2000



戻る


Excel Word Access VBA! モーグ