教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA プログラミング】(関数22)WeekDay関数のプログラミング例を教えて!

f:id:m_kbou:20201002075703p:plain

WeekDay関数を使用したプログラミング例を紹介します。

 

 

例題

<実行>ボタンをクリックした場合、判定日に入力された日付の曜日を判定し、月曜日~金曜日ならば「出勤日です。」を、土曜日又は日曜日ならば「休日です。」を表示します。

[実行前]:

判定日に「2020/10/2」を入力して<実行>ボタンをクリックします。

f:id:m_kbou:20201002075717p:plain

[実行後]:

「2020/10/2」は金曜日なので、「出勤日です。」が表示されます。

f:id:m_kbou:20201002075732p:plain

 

プログラミング

プログラミングは以下の通りとなります。

[記述例]:

Sub サンプル()

  '↓処理①
  Dim 対象日 As Date

  '↓処理②
  対象日 = Range("A2")

  '↓処理③
  Select Case Weekday(対象日)
    Case 1
      MsgBox "休日です。"
    Case 2
      MsgBox "出勤日です。"
    Case 3
      MsgBox "出勤日です。"
    Case 4
      MsgBox "出勤日です。"
    Case 5
      MsgBox "出勤日です。"
    Case 6
      MsgBox "出勤日です。"
    Case 7
      MsgBox "休日です。"
  End Select

End Sub

処理①:変数定義
変数を定義します。

処理②:判定日を変数:対象日にセット
処理①で定義した変数:対象日に判定日(A2セル)をセットします。

処理③:繰り返し処理
WeekDay関数を使用して変数:対象日の曜日を判定します。また、Select文を使用して、判定結果が2~6の場合は「出勤日です。」を、1と7の場合は「休日です。」をMsgboxで表示して下さい。

との内容になります。

f:id:m_kbou:20210214084834p:plain

※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。また、ボタンにプログラムを割り当てるにはこちらを参考にして下さい。

 

ダウンロード

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com