【VBA】WeekdayName関数で人事・勤怠管理を効率化:日付から曜日名を自動取得する方法

【VBA】WeekdayName関数で人事・勤怠管理を効率化:日付から曜日名を自動取得する方法

人事・勤怠管理において、日付データから曜日を正確に把握することは非常に重要です。手作業で曜日を確認し入力する作業は、時間と労力を要するだけでなく、入力ミスも発生しやすくなります。VBAのWeekdayName関数を利用することで、この作業を自動化し、業務効率を大幅に向上させることが可能です。

WeekdayName関数の基本

WeekdayName関数は、日付に対応する曜日名を文字列として返すVBAの関数です。この関数を使用することで、日付データから自動的に曜日を取得し、勤怠管理システムやレポートに反映させることができます。

WeekdayName(weekday, abbreviate, firstdayofweek)

  • weekday:必須。日付を表す数値を指定します。通常はWeekday関数で取得した値を渡します。
  • abbreviate:省略可能。曜日の名前を省略形にするかどうかを指定します。Trueの場合は省略形、Falseの場合は完全な名前が返されます。
  • firstdayofweek:省略可能。週の最初の曜日を指定します。VBA.FirstDayOfWeek定数を使用できます(例:vbSundayvbMonday)。省略した場合、vbSundayが既定値となります。

人事・勤怠管理でのWeekdayName関数の活用例

例1:勤務記録シートへの曜日自動入力

従業員の勤務記録シートにおいて、日付を入力すると自動的に曜日が表示されるように設定します。これにより、手入力によるミスを減らし、正確な勤怠管理を実現します。

Sub 自動曜日入力()
Dim targetCell As Range
Dim dateValue As Date

' 対象セル(日付が入力されているセル)を設定
Set targetCell = Range(