教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA 関数】Date関数の使い方を教えて!

構文

構文は以下の通りです。

Date([年], [月], [日])

解説

Date関数は、年、月、日を引数として受け取り、それらを組み合わせて日付を作成します。

引数 指定 内容
省略可 4桁の数値で指定します。
省略可 1から12の数値で指定します。
省略可 1から31の数値で指定します。

使用例

Date(2023, 6, 3)

使い方

具体的な使い方を紹介します。

1.日付の作成

Date関数を使用して、特定の日付を作成することができます。たとえば、以下のようなコードで2023年6月3日を作成します。

Dim myDate As Date
myDate = Date(2023, 6, 3)

2.現在の日付の取得

Date関数を引数なしで使用すると、現在の日付を取得することができます。次のようにコードを記述します。

Dim today As Date
today = Date()

3.日付の比較

Date関数を使用して、2つの日付を比較することができます。例えば、以下のようなコードで2つの日付を比較します。

Dim date1 As Date
Dim date2 As Date
date1 = Date(2023, 6, 3)
date2 = Date(2023, 6, 4)
If date1 < date2 Then
    MsgBox "date1はdate2よりも前の日付です。"
Else
    MsgBox "date1はdate2よりも後の日付です。"
End If

プログラミング例

以下に、プログラミング例を紹介します。

1.特定の日付を表示する

Sub ShowDate()
    Dim myDate As Date
    myDate = Date(2023, 6, 3)
    MsgBox "日付:" & myDate
End Sub

2.現在の日付を表示する

Sub ShowCurrentDate()
    Dim today As Date
    today = Date()
    MsgBox "現在の日付:" & today
End Sub

3.日付の比較

Sub CompareDates()
    Dim date1 As Date
    Dim date2 As Date
    date1 = Date(2023, 6, 3)
    date2 = Date(2023, 6, 4)
    If date1 < date2 Then
        MsgBox "date1はdate2よりも前の日付です。"
    Else
        MsgBox "date1はdate2よりも後の日付です。"
    End If
End Sub

まとめ

Date関数を使って特定の日付を作成するには、年、月、日を指定して変数に代入します。Date関数を引数なしで使用すると、現在の日付を取得できます。是非活用してください。