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