Excel VBAでは、日付データに対して独自の書式を適用し、整形済みの文字列として扱うことが可能です。
帳票作成やファイル名生成、ログ記録などの場面では、「yyyy/mm/dd」「和暦」「曜日付き」などの形式に変換する処理がよく使われます。
この記事では、Format
関数を用いて、日付に自由な書式を適用する方法を詳しくご紹介いたします。
目次
基本構文:Format関数
Format(対象となる日付, "書式文字列")
書式文字列の指定によって、日付を好きな形式の文字列として出力できます。
使用例:さまざまな形式で書式変換
Sub FormatDateExamples()
Dim srcDate As Date
srcDate = Range("B2").Value ' 入力された日付を参照
Range("E2").Value = Format(srcDate, "ggge年m月d日(aaaa)") ' 和暦+曜日
Range("E3").Value = Format(srcDate, "mm-dd") ' 月-日
Range("E4").Value = Format(srcDate, "yyyymmdd") ' 数字形式(ファイル名などに最適)
End Sub
書式指定文字の主な種類
書式文字列 | 意味 | 例(2025年7月20日) |
---|---|---|
yyyy | 西暦4桁 | 2025 |
mm | 月(2桁) | 07 |
m | 月(1桁可) | 7 |
dd | 日(2桁) | 20 |
d | 日(1桁可) | 20 |
ggge | 和暦(令和+年) | 令和7年 |
aaaa | 曜日(完全表示) | 日曜日 |
ddd | 曜日(短縮) | 日 |
実用例:ファイル名や帳票の日付欄に応用
Dim logName As String
logName = "受注データ_" & Format(Date, "yyyymmdd") & ".csv"
このようにすれば、「受注データ_20250720.csv」といったファイル名を自動生成できます。
まとめ|Format関数で日付を柔軟に文字列変換
VBAで日付を文字列に変換する場合、Format
関数を活用すれば、あらゆる形式に整形可能です。
- 和暦や曜日付きの日付の表示も簡単に実現
"yyyymmdd"
形式はファイル名などに非常に便利- 書式文字列を工夫することで、業務仕様に合わせた柔軟な出力が可能
日付処理は多くのVBA処理に関わる基礎的かつ重要な部分です。
本記事を参考にして、見やすく・扱いやすい日付表記の整形方法をぜひ習得してみてください。