Excel VBA

【現在時刻取得】Format(Now,"YYMMDDHHMM")の活用法を紹介【Excel VBA】

エクセルVBAを使っていると「現在時刻の取得」が必要なことがあります。

そんな時に便利なのがFormat関数です。
その反面、使い道が分かりにくいこともあるので、今回はFormat関数(Nowを使った現在時刻)の活用方法を紹介したいと思います。

Format関数って何?

Format関数は、データの書式変更をすることができる関数です。
(エクセルの関数でもあるので、ピンとくるかたもいらっしゃるかもしれません)

書式変更をしたい

と思った時は、Format関数を使えば解決できることが多いです。

そんなFormat関数ですが【Format(Now,"YYMMDDHHMM")】と書くことで、現在時刻を取得できます。

表示形式はお好みで変更できます。”YYMM”だけにすれば年月などにもできます。

データ追加・更新日を追加する時

エクセルVBAで、データを入力する時に「データ入力日」を追加したい時にもFormat関数が使えます。


Sub データベース登録時刻を追加()
'最終行を取得
  Dim lastRow As Long
  lastRow = Sheet1.Cells(Rows.Count, 1).End(xlUp).Row

'データベースに入力
  Sheet1.Cells(lastRow + 1, 1) = "データ1"
  Sheet1.Cells(lastRow + 1, 2) = "データ2"
  Sheet1.Cells(lastRow + 1, 3) = "データ3"
  Sheet1.Cells(lastRow + 1, 4) = "データ4"
  Sheet1.Cells(lastRow + 1, 5) = "データ5"
  Sheet1.Cells(lastRow + 1, 6) = Format(Now, "YY年MM月DD日HH時MM分SS秒")
End Sub


このプログラムを動かすと、データベース(A~E列)に項目を入力。
その他にF列にデータベースへの入力時刻を入力することができます。

その他、請求書発行プログラムの「請求書発行台帳シート」にFormat関数を追加することで「請求書発行処理をした時間」を記録することもできます。

請求書を発行したか忘れてしまっても、発行時刻を見ることで「発行済み」分かるようになります。
※発行時刻の横のセルに「発行済み」と記載するようにしてもいいかもしれません。

重複しないファイル名を付ける時

エクセルVBAでプログラムでは、処理をしたデータを保存することがあります。
そこで問題になるのが「保存するファイルの名称」です。

ファイル名称をいつも同じにしているとこのような問題があります。

  • 同じ名前だと上書き保存されてしまう
  • いつのデータか分からない(更新日を見ないと分からない)

これらの問題を解消するのが「Format関数の現在時刻取得です」

Sub ファイルの保存()
'変数の宣言
  Dim savePath As String, saveName As String
  savePath = ThisWorkbook.Path
  saveName = "\" & Format(Now, "YYMMDD") & "_ファイル名.xlsx"

'ファイルを保存(xlsx形式)
  ThisWorkbook.SaveAs fileName:=savePath & saveName, _
                      FileFormat:=xlOpenXMLWorkbook
End Sub

こちらのプログラムで作成したデータ名は以下のようになります。
(2021年10月31日にプログラムを実行した場合)

一日に何回もファイル保存をしない場合はこちらのコードで対応可能です。

一日に何回もファイル保存する場合は、Format(Now , "YYMMDDHHMM"など細かい時間を取得する方法もあります。

あとがき

今回は、Format関数の現在時刻取得方法と活用法を紹介しました。

ただ現在時刻を取得するだけの関数ですが、使い道が分かるととても便利な関数だと思います。

作るプログラムにFormat関数の現在時刻取得を付けてみたいと思う方に試していただきたいです。

エクセルVBAの学習をしたいという方は、オンラインレッスンの利用がお手軽でオススメです。

こちらもCHECK

Excel vbaを学びたいなら。レッスンサイトを紹介

「AIが仕事を奪う」などのニュースを聞くようになりました。単純作業はプログラムが得意とする分野なので、事務作業もAIが行う時代も遠くないかもしれません。 普段事務作業をしている方からすると「めんどうな ...

続きを見る

-Excel VBA
-, , , ,