脱・手入力!VBAでファイル名に今日の日付(yyyymmdd)を自動付与する方法

【業務効率化】VBA
スポンサーリンク

こんにちは!ぐーです。
日々の業務の中で、このような作業を繰り返していませんか?

  1. Excelで報告書を作る
  2. 「名前を付けて保存」を押す
  3. ファイル名の末尾に、手入力で「20251219」と今日の日付を打ち込む

これ、地味に面倒ですよね。

あれ、今日何日だっけ?」とカレンダーを確認したり、急いでいて「202512109」なんて打ち間違えてしまったり…。

今回は、そんな日付入力の手間をなくし、一瞬で処理を完結させるVBAをご紹介します。

【業務効率化】VBAの記事を見る 

なぜ「2025/12/19」という形式では保存できないのか?

Excelのセル上では「2025/12/19」と表示されるのが一般的ですが、これをそのままファイル名に使うことはできません。

Windowsのシステム上のルールで、「/(スラッシュ)」はファイル名に使用できない記号の一つと定められているためです。

そのため、保存時には「20251219」のように記号を除いた形式に変換する必要があります。この変換作業を、手入力ではなくVBAに任せてしまいましょう。

コピペで使える !今日の日付を取得するコード

まずは、日付を取得するための最も重要なコードを確認します。

Format(Date, “yyyymmdd”)

この1行は、「今日の日付(Date)」を、「年月日がつながった8桁の形式(yyyymmdd)」に変換して、という命令になります。

実践:ファイル名を作って表示してみよう

まずは、意図した通りのファイル名が作成できるか、メッセージボックスで確認してみましょう。以下のコードを標準モジュールに貼り付けて実行してください。

Sub ShowTodayFileName()
    ' 変数の箱を用意します
    Dim todayString As String
    Dim fullFileName As String
   
    ' 今日の日付を「yyyymmdd」形式(例:20251219)にします
    todayString = Format(Date, "yyyymmdd")
   
    ' 好きなファイル名と合体させます
    fullFileName = "売上報告書_" & todayString & ".xlsx"
   
    ' 画面に表示して確認します
    MsgBox "今回作成するファイル名はこれです!" & vbCrLf & fullFileName

End Sub

業務を効率化する自動保存マクロ

「確認の手間も省いて、そのまま保存まで完了させたい」という場合は、こちらのコードが便利です。 

実行すると、現在開いているファイルと同じフォルダーに、日付入りの名前で別名保存されます。

Sub SaveFileWithDate()
    Dim todayString As String
    Dim fileName As String
    Dim savePath As String
   
    ' 1. 日付の文字列を作ります
    todayString = Format(Date, "yyyymmdd")
   
    ' 2. ファイル名を決めます(ここは自由に変えてOK)
    fileName = "日報_" & todayString & ".xlsm"
   
    ' 3. 今のファイルと同じ場所に保存するパスを作ります
    savePath = ThisWorkbook.Path & "\" & fileName
   
    ' 4. 保存実行
    ' FileFormat:=52 はマクロ有効ブック(.xlsm)のことです
    ThisWorkbook.SaveAs Filename:=savePath, FileFormat:=52
   
    MsgBox "保存完了!" & vbCrLf & fileName
End Sub

これまで「カレンダーを確認し、手入力で打ち込み、間違いがないかチェックする」という工程にかけていた時間が、このマクロを使えばボタン一つで完結します。
ぜひ試してみてください!

【業務効率化】VBAの記事を見る 


VBAを独学で学び、業務自動化に5年以上携わってきた私が、「本当に実務で役立った!」と感じた2冊を紹介します。 もう本選びで失敗したくない方は、よければ参考にしてみてください。

この記事を書いた人
ぐー

手取り15万円の会社員でも、年間100万円以上の節約・資産管理・スキルアップで新NISAで年間360万円投資し、iDeCoもフル活用しています。日商簿記3級持っています。

このブログでは、私が実践してきた節約術やリアルな資産運用、稼ぐ力を高めるITスキルについて発信しています。

生活を豊かにしたくて、高配当株投資で年間配当金60万円をめざしています。現在は年間配当金25万円以上達成!

ゲーム・漫画・アニメなどが好きです。
一緒に資産形成をがんばりましょう!
よろしくお願いします!

ぐーをフォローする
【業務効率化】VBAITスキル
スポンサーリンク
ぐーをフォローする

コメント

タイトルとURLをコピーしました