Excel VBAで今週の日付を取得するコード|Weekday関数を使用したサンプルシート

Weekday関数を使い曜日を取得し、そこから日付を計算するVBAを掲載しています。




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

今週の日付とは、基準日が含まれる月曜~日曜の日付のことです。

■ 今週の日付を取得する方法

1)基準日の曜日を、Weekday関数で取得します。
Weekday関数を使うと下記の値を取得できます。

  • vbSunday: 1 日曜
  • vbMonday: 2 月曜
  • vbTuesday: 3 火曜
  • vbWednesday: 4 水曜
  • vbThursday: 5 木曜
  • vbFriday: 6 金曜
  • vbSaturday: 7 土曜

2)曜日から開始日と終了日を計算します。

  • 月曜日
    開始日=基準日、終了日=基準日+6
  • 火曜日
    開始日=基準日-1、終了日=基準日+5
  • 水曜日
    開始日=基準日-2、終了日=基準日+4
  • 木曜日
    開始日=基準日-3、終了日=基準日+3
  • 金曜日
    開始日=基準日-4、終了日=基準日+2
  • 土曜日
    開始日=基準日-5、終了日=基準日+1
  • 日曜日
    開始日=基準日-6、終了日=基準日

関連する「WeekdayName関数:曜日を文字列で取得する」を掲載していますので、参考にしてください。



Excelシート実行画面

シートにコマンドボタンを配置しています。
ボタンをクリックするとイベントが発生し、記述したVBAを実行します。
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
            endate = ttoday + 6
        Case vbTuesday:
            stdate = ttoday - 1
            endate = ttoday + 5
        Case vbWednesday:
            stdate = ttoday - 2
            endate = ttoday + 4
        Case vbThursday:
            stdate = ttoday - 3
            endate = ttoday + 3
        Case vbFriday:
            stdate = ttoday - 4
            endate = ttoday + 2
        Case vbSaturday:
            stdate = ttoday - 5
            endate = ttoday + 1
        Case vbSunday:
            stdate = ttoday - 6
            endate = ttoday
       
    End Select
    
    '基準日と開始日と終了日を表示
    Range("D4") = ttoday
    Range("D5") = stdate & " ~ " & endate
    
End Sub


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

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


Copyright (c) Excel-Excel ! All rights reserved