忍者ブログ
VBAによる実用アプリケーションの構築、およびGAS(Google Apps Script)やOffice Scriptへのモダンな移行パスを検証・解説するテックブログ。現場で即戦力となるコードモジュールや再利用可能な実用部品を継続的に提供します。

【VBAサンプル】Format関数で現在時刻を「〇〇時〇〇分〇〇秒」形式に整形する方法

VBAで現在日時を取得する `Now` 関数と、日時を好みの文字列パターンに整形する `Format` 関数を組み合わせて、現在時刻を「hh時nn分ss秒」形式で出力する方法を解説します。

1. サンプル

現在時刻を取得する `Now` 関数を、`Format` 関数で加工します。

Sub ShowFormattedNow()
    ' 現在日時を「yyyy-mm-dd hh時nn分ss秒」形式に整形して出力
    Debug.Print Format(Now, "yyyy-mm-dd hh時nn分ss秒")
End Sub

2. プログラムの解説

サンプルコードで使用されている指定方法や関数のポイントです。

① Format(値, "書式パターン")
第一引数に指定した日時データ(`Now`)を、第二引数で指定したフォーマット文字列に従って文字列に変換する関数です。
② 分の指定に「mm」ではなく「nn」を使う理由
VBAの `Format` 関数では、「分」に `nn` を使用するのがポイントです。
`mm` を指定しても文脈に応じて「分」と認識される場合がありますが、`yyyy-mm-dd` のように「月」を表す `mm` と混同して誤動作するのを防ぐため、VBAでは分=`nn` と明示的に書くのが確実です。
③ 各書式記号の意味
・yyyy:年(4桁)
・mm:月(2桁)
・dd:日(2桁)
・hh:時(2桁)
・nn:分(2桁)
・ss:秒(2桁)

3. 実行結果

現在時刻が、hh時nn分ss秒形式で表示されます。(※例:2026年8月22日 10時40分08秒の場合)

2026-08-22 10時40分08秒


PR