Excel VBAで先週の一週間の日付を取得する|Date関数とWeekday関数の使い方

今日の日付をDate関数で取得し、そこからWeekday関数で先週の日付を計算します。




Homeに戻る > Excel 日付・時間のTipsへ

先週の日付とは、基準日の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関数」を掲載していますので、参考にしてください。



Excel実行画面

基準日から、先週の開始日と終了日を計算し表示しています。
基準日はDate関数で取得した今日の日付です。
これをD4セルに表示しています。
D5セルに、先週の月曜から日曜までの日付を表示しています。
本日の日付から先週の日付を計算し表示したエクセルシート


Excel 実行VBAコード

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



Homeに戻る > Excel 日付・時間のTipsへ

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved