VBAで利用できる日付・時刻関連の関数を一覧表にまとめました。
現在日時の取得、日付や時刻の分解、加算・差分計算などに使えます。
VBA 日付・時刻関数 一覧表
| 関数名 | 内容・用途 | 使用例 | 結果例 |
|---|---|---|---|
| Now | 現在のシステム日付と時刻を返す | Now() | 2025/11/2 21:10:35 |
| Date | 現在の日付を返す | Date() | 2025/11/2 |
| Time | 現在の時刻を返す | Time() | 21:10:35 |
| Timer | 午前0時からの経過秒数を返す | Timer | 76235.4 |
| Year | 日付から「年」を返す | Year(#2025/11/2#) | 2025 |
| Month | 日付から「月」を返す | Month(#2025/11/2#) | 11 |
| Day | 日付から「日」を返す | Day(#2025/11/2#) | 2 |
| Hour | 時刻から「時」を返す | Hour(#21:10:35#) | 21 |
| Minute | 時刻から「分」を返す | Minute(#21:10:35#) | 10 |
| Second | 時刻から「秒」を返す | Second(#21:10:35#) | 35 |
| DateAdd | 指定した単位で日付/時刻を加算・減算 | DateAdd("d", 7, Date) | 2025/11/9 |
| DateDiff | 2つの日付/時刻の差を返す | DateDiff("d", #2025/11/1#, #2025/11/10#) | 9 |
| DatePart | 日付の一部(年・月・日・週など)を返す | DatePart("q", #2025/11/2#) | 4(第4四半期) |
| DateSerial | 年・月・日から日付を生成 | DateSerial(2025, 11, 2) | 2025/11/2 |
| DateValue | 文字列を日付に変換 | DateValue("2025/11/2") | 2025/11/2 |
| TimeSerial | 時・分・秒から時刻を生成 | TimeSerial(21, 10, 35) | 21:10:35 |
| TimeValue | 文字列を時刻に変換 | TimeValue("21:10:35") | 21:10:35 |
| Weekday | 曜日を数値で返す(1=日曜, 2=月曜…) | Weekday(#2025/11/2#) | 1 |
| WeekdayName | 曜日番号から曜日名を返す | WeekdayName(1) | 日曜日 |
✅ ポイント
- 現在日時 →
Now - 日付だけ →
Date - 時刻だけ →
Time - 差分計算 →
DateDiff - 加算減算 →
DateAdd - 曜日判定 →
Weekday/WeekdayName
👉 実務では「納期までの日数計算(DateDiff)」「翌月の日付算出(DateAdd)」「曜日判定(Weekday)」が特によく使われます。
