【VBA入門】日付に指定書式を適用して文字列として取得する方法|Format関数の使い方

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処理に関わる基礎的かつ重要な部分です。
本記事を参考にして、見やすく・扱いやすい日付表記の整形方法をぜひ習得してみてください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次