【VBA】Weekday関数で人事・勤怠管理を効率化:日付から曜日を判定し自動集計】
人事・勤怠管理において、従業員の勤務実績を集計する際、日付ごとの曜日を把握することは非常に重要です。特に、週休二日制や祝日の管理、特定の曜日に対する割増賃金の計算など、曜日情報は不可欠な要素となります。手作業で曜日を調べて入力したり、カレンダーと照らし合わせたりする作業は、時間と労力を浪費するだけでなく、人的ミスも発生しやすくなります。
Weekday関数の基本
VBAのWeekday関数は、日付を表す値から曜日を数値として取得するために使用されます。この関数を使うことで、日付データをプログラムで処理し、曜日を自動的に判定することが可能になります。
Weekday(Date, [FirstDayOfWeek])
Date:曜日を調べたい日付を指定します。FirstDayOfWeek:週の最初の曜日を指定します(省略可能)。
FirstDayOfWeekには、以下の定数を指定できます。
vbUseSystemDayOfWeek(0):システムの既定値を使用(既定)vbSunday(1):日曜日vbMonday(2):月曜日vbTuesday(3):火曜日vbWednesday(4):水曜日vbThursday(5):木曜日vbFriday(6):金曜日vbSaturday(7):土曜日
例えば、Weekday(Date, vbMonday)と指定すると、月曜日が週の始まりとして曜日が計算されます。
人事・勤怠管理でのWeekday関数の活用例
例1:勤務実績データの曜日自動入力
従業員の勤務実績データ(日付、出勤時間、退勤時間など)がExcelに記録されている場合、Weekday関数を使って曜日を自動的に入力できます。
Sub 自動曜日入力()
Dim i As Long
Dim lastRow As Long' データ最終行を取得
lastRow = Cells(Rows.Count,PR

CodeCampは、現役エンジニアからマンツーマンで学べるオンラインプログラミングスクールです。WebデザインやWebサービス開発、転職支援など、目的に合わせた多様なコースが選べます。
朝7時〜夜23時40分まで、365日レッスンが受けられるため、忙しい方でも自分のペースで学習を進めることが可能です。通過率8%の厳しい選考を通過した質の高い講師陣が、あなたのキャリアチェンジを強力にサポートします。
さらに、未経験者向けのカリキュラムや、学習開始から20日以内の全額返金保証制度もあるため、プログラミング学習に不安を感じている方でも安心して始めることができます。
CodeCampで理想の働き方を実現しよう