検索

キーワード


【Excel VBA】日付から曜日を確認する方法(WeekdayNameを使用)

  • 公開日:2020-10-11 23:09:11
  • 最終更新日:2021-03-08 21:13:42

はじめに

初めまして、エンジニアのIMMRです。


下記のデータに記載してある日付が何曜日なのかを調べたいことがあると思います。


図1 ブック(日付が入力してあるもの)

日付から曜日を確認するためのサンプルデータ


ここでは、日付から曜日を取得する方法について説明します。


1.日付から曜日を確認する方法

日付から曜日を確認する方法は、いくつかありますが、

ここでは、日付から曜日を表す数値を取得して、その算出された数値から曜日を確認する方法で行います。


図2 日付から曜日を取得するまでの流れ

日付から曜日を確認する方法のイメージ



2.日付から曜日を確認する関数(WeekdayとWeekdayName)

日付から曜日を表す数値を確認する方法は

Weekday(日付)

※日付の部分は、"2019/1/23"等、直接入力するか、日付が記載してあるセルRange("A1")でもよいです。


曜日を表す数値は以下のようになります。


図3 Weekdayが出力する数値と曜日の関係

曜日に対応するWeekdayの数値

もし、その日付が月曜日なら2 土曜日なら7になります。


 曜日を表す数値から曜日を取得する方法は

WeekdayName(曜日を表す数値)

※数値に対しての曜日は上図のとおりです。

曜日を表す数値が3なら火曜日になります。


3.サンプルコード(WeekdayNameを使って日付から曜日を確認)と実行

実際に上記、サンプルコードを使用して、

WeekdayNameを使って日付から曜日を確認します。

下記データのセルA2に記載してある日付が何曜日かを確認します。


図4 ブック(日付が入力してあるもの)

日付から曜日を確認するマクロを実行する前の画面


サンプルコード

Sub TEST11()

Dim n As Long
    
    n = Weekday(Range("A2"))
    Range("B2") = WeekdayName(n)

End Sub


セルA2に記載してある日付から曜日を表す数値を確認します。

 確認したらその値を変数nに代入します。

 変数nから曜日を確認して、結果をセルB2に代入します。


実行結果は以下になります。

図5 ブック(上記、コード実行後)

日付から曜日を確認するマクロの実行結果

曜日が記載されています。


カレンダーから確認しても

2019年9月13日は金曜日であることにより

曜日が正しく、記載されています。


図6 カレンダー(2019年9月)

カレンダーから曜日を確認


日付から「Weekday」と「WeekdayName」を使用して、曜日を確認することができました。



【著者】

Imamura

今まではExcel VBAの開発をしてきました。
開発を主にしたものや他の業務の効率化を目指して行ったものさまざまです。
現在は、他のプログラミング言語に挑戦して、スキルアップを目指しています。

よく読まれている記事