VBA 日付型変数
In this Article
変数、データ型、定数とは何かについては、VBAのデータ型 – 変数と定数のチュートリアルですでに説明しました。このチュートリアルでは、変数を日付として宣言する方法について説明します。
VBAでは、日付のデータ型は10進数として保存されます。このデータ型には、日付と時刻の両方を格納することができます。VBAの日付データ型は、西暦100年1月1日100から西暦9999年12月31日までの値を格納することができます。
VBAの日付型変数
Dimキーワードを使用して、変数を日付型として宣言します。
Dim dateOne as Date
そして、日付型変数に日付を代入することができます。 変数に代入する日付を生成するには、複数の方法があります。
変数に今日を代入する
Date関数は、今日の日付を返します。
Dim dtToday
dtToday = Date
変数にNowを代入する
Now関数は、今日の日付と現在の時刻を返します。
Dim dNow
dNow = Now
変数に時刻を代入する
Time関数は現在の時刻を返します。
Dim tTime
tTime = Time
DateSerialで変数に日付を代入する
DateSerial関数は、入力された年、月、日に基づいて、日付を返します。
Dim dsDate
dsDate = DateSerial(2010, 11, 11)
TimeSerialで変数に時刻を代入する
TimeSerial関数は、入力された時、分、秒に基づいて、時刻を返します。
Dim tsTime
tsTime = TimeSerial (10, 10, 45)
コード内で日付を使用する場合は、以下のように#または””で囲む必要があります。
VBA DateValue関数
VBAのDateValue関数は、日付を初期化するために使用することができます。次のコードは、VBAで日付を初期化するために使用できます。
MsgBox DateValue("1/1/2010")
VBA TimeValue関数
TimeValue関数は、時刻を生成する関数です。
MsgBox TimeValue("21:30:57")
Excel VBA 日付変数の例
このプロシージャは、日付変数を作成し、値を割り当てて、Excelワークシートに出力する方法を説明します。
Sub DeclaringAVariableAsADate()
Dim dateOne As Date
Dim dateTwo As Date
dateOne = #1/1/2019#
dateTwo = "2019年1月2日"
Range("A1").Value = dateOne
Range("A2").Value = dateTwo
End Sub
結果は以下のとおりです。
Date関数については、このチュートリアルで詳しく説明しています。
VBA AccessのDate変数
日付変数は、Access VBAでもExcel VBAと全く同じように動作します。 この手順では、日付変数を作成し、アクセステーブルのフィールドを値で更新する方法を説明します。
Sub DeclaringAVariableAsADate()
Dim dtWork As Date
dtWork = #05/10/2020#
DoCmd.RunSql "UPDATE tblJobs SET WorkDate = #" & dtWork & "# WHERE JobNo = 6"
End Sub