教えて!ExcelVBA!

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

ExcelVBAのWorksheetFunctionオブジェクトで使用するDate関数の使い方

構文

構文は以下の通りです。

WorksheetFunction.Date(年, 月, 日)

解説

WorksheetFunctionは、ExcelVBAの組み込みオブジェクトで、Excelのワークシート関数をVBAから呼び出す際に使用します。Date関数は、指定した「年」、「月」、「日」の値を把握し、その日付を表す日付型のデータを返します。年は、年を表す整数を指定します。月は月を表す整数を指定します。日は、日を表す整数を指定します。

プログラミング例

具体的なプログラミング例を紹介します。

Sub 日付を作成する()
    Dim 年 As Integer
    Dim 月 As Integer
    Dim 日 As Integer
    Dim 結果 As Date
    ' セルから年、月、日を取得
    年 = Cells(1, 1).Value  ' セルA1に年が入力されている
    月 = Cells(1, 2).Value  ' セルB1に月が入力されている
    日 = Cells(1, 3).Value  ' セルC1に日が入力されている
    ' Date関数を使って日付を作成
    結果 = WorksheetFunction.Date(年, 月, 日)
    ' 結果をセルD1に表示
    Cells(1, 4).Value = 結果
End Sub

上記のプログラムは、年、月、日の値をセルA1、B1、C1から取得しています。Date関数を使って、取得した年、月、日をまとめて日付データを作成します。作成した日付をセルD1に表示しています。

まとめ

Date関数は、指定した年、月、日から日付データを作成します。それぞれの数値を引数に渡すことで、日付型の結果が得られます。日付を扱う際に、複数のセルに分かれた情報を一つの日付として考えて有効です。