【ExcelVBA・マクロ】Now関数の使い方|現在の日付と時刻を取得する方法【コピペOK】

Now関数の使い方 ExcelVBA

VBAで日時を扱っていると、次のようなことはありませんか?

  • 現在日時を取得したい
  • 処理時刻を記録したい
  • ログやファイル名に日時を入れたい

このような場合は、Now関数を使うことで解決できます。
現在の「日付+時刻」を取得できる、VBAで非常に重要な関数です。

この記事では、Now関数の基本から実務で使える活用方法まで分かりやすく解説します。


スポンサーリンク
スポンサーリンク

この記事でできること

  • 現在日時を取得できる
  • 日付と時刻を記録できる
  • 実務で使えるコードが分かる

基本:Now関数の使い方

基本構文はこちらです。

Now

例:

MsgBox Now

→ 現在の日付と時刻が表示されます。


Now関数の特徴

  • 現在の日時を取得
  • 日付+時刻を返す
  • Date型として扱える

基本例

Option Explicit

Sub NowBasic()

    MsgBox Now

End Sub

セルに現在日時を書き込む

Range("A1").Value = Now

実行時の日時が記録されます。


日時の表示形式を変更する

Format関数と組み合わせると便利です。

MsgBox Format(Now, "yyyy/mm/dd hh:nn:ss")

表示例:


2024/01/01 10:30:45

ファイル名に日時を付ける

実務で非常によく使うパターンです。

Dim fileName As String

fileName = "売上_" & Format(Now, "yyyymmdd_hhnnss") & ".xlsx"

MsgBox fileName

→ 売上_20240101_103045.xlsx


Date・Timeとの違い

関数内容
Now日付+時刻
Date日付のみ
Time時刻のみ

経過時間を計測する

開始時間を保存して差分を取る方法です。

Dim startTime As Date

startTime = Now

MsgBox "開始:" & startTime

処理ログを残す

Range("A1").Value = "処理実行:" & Now

ログ記録でよく使います。


実務での活用例

  • 処理実行ログ
  • ファイル名生成
  • バックアップ作成
  • 更新日時記録

実務では非常に使用頻度が高い関数です。


注意点

① 時刻はリアルタイムで変わる

Nowを呼ぶたびに現在時刻を取得します。

② 秒まで含まれる

比較処理では注意が必要です。

③ ファイル名に「:」は使えない

Formatで整形してください。

Format(Now, "yyyymmdd_hhnnss")

よくあるエラーと対処法

① 表示形式がおかしい

セルの表示形式を確認してください。

② ファイル保存でエラー

日時フォーマットに「:」が含まれている可能性があります。

③ コードは正しいのにエラーになる

コピー時に全角文字や特殊文字が混ざることがあります。
その場合は該当行を手入力し直すと解決することがあります。


まとめ

  • Nowは現在日時を取得する関数
  • Date型として扱える
  • Formatと組み合わせると便利
  • 実務ではログやファイル名で大活躍

Now関数を使いこなせるようになると、日時を活用した実務的なVBAが作れるようになります。
非常に使用頻度が高い関数なので、ぜひマスターしておきましょう。

スポンサーリンク
スポンサーリンク
ExcelVBA
いがぴをフォローする

コメント

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