先週の日付とは、基準日の7日前の月曜から日曜の日付です。
1)基準日の曜日を、Weekday関数で取得します。
Weekday関数を使うと下記の値を取得できます。
vbSunday 1 日曜
vbMonday 2 月曜
vbTuesday 3 火曜
vbWednesday 4 水曜
vbThursday 5 木曜
vbFriday 6 金曜
vbSaturday 7 土曜
2)曜日から先週の開始日と終了日を計算します。
・月曜日
開始日=基準日-7 、 終了日=基準日-1
・火曜日
開始日=基準日-8 、 終了日=基準日-2
・水曜日
開始日=基準日-9 、 終了日=基準日-3
・木曜日
開始日=基準日-10 、 終了日=基準日-4
・金曜日
開始日=基準日-11 、 終了日=基準日-5
・土曜日
開始日=基準日-12 、 終了日=基準日-6
・日曜日
開始日=基準日-13 、 終了日=基準日-7
関連する「日付に変換するExcel関数」を掲載していますので、参考にしてください。
基準日から、先週の開始日と終了日を計算し表示しています。
基準日はDate関数で取得した今日の日付です。
これをD4セルに表示しています。
D5セルに、先週の月曜から日曜までの日付を表示しています。
Option Explicit
Private Sub CommandButton1_Click()
'基準日
Dim ttoday As Date
'先週の開始日
Dim stdate As Date
'先週の終了日
Dim endate As Date
'曜日
Dim nWeek As Integer
'基準日は本日にセット
ttoday = Date
'曜日を取得する
nWeek = Weekday(ttoday)
'先週の開始日と終了日を計算
Select Case nWeek
Case vbMonday:
stdate = ttoday - 7
endate = ttoday - 1
Case vbTuesday:
stdate = ttoday - 8
endate = ttoday - 2
Case vbWednesday:
stdate = ttoday - 9
endate = ttoday - 3
Case vbThursday:
stdate = ttoday - 10
endate = ttoday - 4
Case vbFriday:
stdate = ttoday - 11
endate = ttoday - 5
Case vbSaturday:
stdate = ttoday - 12
endate = ttoday - 6
Case vbSunday:
stdate = ttoday - 13
endate = ttoday - 7
End Select
'基準日と先週の開始日と終了日を表示
Range("D4") = ttoday
Range("D5") = stdate & " ~ " & endate
End Sub
■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します