【VBA】Weekday関数で人事・勤怠管理を効率化:日付から曜日を自動判定し、勤務体系を最適化する方法
人事・勤怠管理において、従業員の勤務状況を正確に把握することは非常に重要です。特に、曜日ごとの勤務時間や出勤状況を分析することで、人員配置の最適化や残業時間の削減に繋げることができます。しかし、手作業で曜日を判定し、集計するのは時間と手間がかかり、ミスも発生しやすくなります。
Weekday関数の基本
VBAのWeekday
関数は、日付を表す値から曜日を数値で返す関数です。この数値を元に、曜日を文字列で表示したり、特定の曜日に対する処理を分岐させたりすることができます。
構文:
Weekday(date, [firstdayofweek])
date
:日付を表すVariant型 (Date) の値。firstdayofweek
:省略可能な定数で、週の最初の曜日を指定します。
- 1 (既定値) – 日曜日
- 2 – 月曜日
- 3 – 火曜日
- 4 – 水曜日
- 5 – 木曜日
- 6 – 金曜日
- 7 – 土曜日
人事・勤怠管理でのWeekday関数の活用例
例1:勤務日の曜日を自動判定
従業員の出勤日を入力する際に、自動的に曜日を表示させることで、入力ミスを減らし、データの一貫性を保つことができます。
Function GetWeekDayName(myDate As Date) As String
' 曜日を判定し、文字列で返す
Dim weekNum As Integer
weekNum = Weekday(myDate, vbMonday) ' 週の始まりを月曜日に設定
Select Case weekNum
Case 1: GetWeekDayName =