教えて!ExcelVBA!

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

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

構文

構文は以下の通りです。

CDate(文字列)

解説

CDate関数は、テキストや数値を日付に変換するための関数です。文字列を日付に変換できる場合はその日付を返し、変換できない場合はエラーを返します。

引数 指定 内容
文字列 必須 任意の文字列や数値を指定します。文字列の場合は、引用符(")で囲む必要があります。

使用例

CDate("2023/06/16")
CDate("平成25年6月11日")
CDate(44817)

使い方

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

例えば、次のようにCDate関数を使用すると、文字列"2023/06/16"を日付/時刻型の値に変換することができます。

Dim myDate As Date
myDate = CDate("2023/06/16")

これにより、変数myDateには日付/時刻型の値が格納されます。
CDate関数を使う際には、いくつかの注意点があります。
・日付文字列は正しい形式である必要があります。例えば、"2023/06/16"や"16/06/2023"など、Excelが日付として認識できる形式である必要があります。
・日付文字列にはセルのデータ型に合った区切り文字を使用する必要があります。一般的にはスラッシュ ("/") やハイフン ("-") が使用されます。
・日付文字列には月、日、年の順序で要素を並べる必要があります。異なる順序で並べると、正しい結果が得られない場合があります。

プログラミング例

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

例1:テキストを日付に変換する場合

Dim dateValue As Date
dateValue = CDate("2023/06/16")
MsgBox dateValue

この例では、CDate関数を使って"2023/06/16"というテキストを日付に変換し、dateValueという変数に結果を格納しています。最後にMsgBoxを使って変換された日付を表示します。

例2:数値を日付に変換する場合

Dim dateValue As Date
dateValue = CDate(44817)
MsgBox dateValue

この例では、CDate関数を使って数値の44817を日付に変換しています。変換された結果はdateValueに格納され、MsgBoxに変換された日付が表示されます。

まとめ

CDate関数は、テキストや数値を日付に変換するための便利な機能です。この関数を活用することで、日付のデータ処理や計算をスムーズに行うことができます。是非活用してください。