VBA – 今日の日付(現在の日付)を取得する

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

masahiro yoshida

Last updated on 5月 16, 2022

このチュートリアルでは、VBAで今日の日付を取得する方法を説明します。

VBAのコードで今日の日付を取得するには、VBAのDate()関数またはNow()関数を使用します。

Date()関数

Date()関数は、今日の日付を返します。以下の例では、今日の日付を変数に代入し、VBE エディタイミディエイトウィンドウに表示しています。

  Dim dtToday as Date
  dtToday = Date()
  Debug.Print dtToday

また、メッセージボックスに日付を表示することもできます。

Sub TestDate
  Dim dtToday as Date
  dtToday = Date()
  Msgbox "今日の日付 : " & dtToday
End Sub

VBA Date MsgBox 日付

Now()関数

Now()関数は、日付関数と同じように動作しますが、時刻が含まれます。

Sub TestDate()
  Dim dtToday As Date
  dtToday = Now()
  MsgBox "今日の日付 : " & dtToday
End Sub

VBA Date MsgBox Now 日付 時間

VBAで日付の書式を設定する

Date()関数とNow()関数の両方において、日付は PC の設定によって決定される既定のスタイルでフォーマットされます。 この書式をカスタマイズするには、VBAの Format 関数を使用します。 Format関数は文字列を返すので、 DATE変数ではなく、 STRING変数を宣言する必要があります。

Sub TestDate()
   Dim dtToday As String
   dtToday = Format (Date, "dd mmmm yyyy")
   MsgBox "今日の日付 : " & dtToday
End Sub

VBA Date Format 日付 書式

Now()関数をフォーマットして、カスタマイズされたフォーマットで時間部分を含めることもできます。

Sub FormatNow()
  Dim dtToday As String
  dtToday = Format(Now(), "dd mmmm yy hh:mm:ss am/pm")
  MsgBox dtToday
End Sub

VBA Date Now Format 日付 書式 時間

VBAで2つの日付を比較する

イベントまでの日数を計算したい場合など、Date 関数を使用して今日の日付と別の日付を比較することもできます。 このような場合は、VBAの DateDiff() 関数を使えば数値を返します。そのため、返された値を格納するためにINTEGER変数を宣言しておきましょう。

Sub TestDateDiff()
  Dim dtToday As Date
  Dim dtSomeDay As Date
  Dim iDays As Integer
  dtToday = Date
  dtSomeDay = "05/06/2021"
  iDays = DateDiff("d", dtToday, dtSomeDay)
  MsgBox "2つの日付の間には " & iDays & " 日間あります"
End Sub

VBA_ Date Diff 日付 差分

日付は数値として保存されるので、最初の日付から2番目の日付をマイナスしても同じ答えが得られます。

iDays = dtToday - dtSomeDay
vba-free-addin

VBA Code Examples Add-in

Easily access all of the code examples found on our site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(No installation required!)

Free Download

Return to VBA Code Examples