CDate 【シーデイト】関数
引数に指定したデータを日付型(Date)に変換するには、CDate 【シーデイト】関数を使用します。
CDate 【シーデイト】関数の書式と引数の説明
CDate(Expression)
【戻り値】日付型 (Date)
- Expression【エクスプレッション】(必須)
日付型に変換したいデータを指定します。数値はシリアル値とみなされ、整数部分が日付、小数部分が時刻に変換されます。「平成29年5月20日」といった日付を表す文字列を指定することもできますが「曜日」を含んだり、「平成29年」のような年号のみを表す文字列を指定するとエラーになります。エラーを防ぐにはIsDate 【イズデイト】関数を使用して日付データに変換できるか確認してから使用します。
IsDate 【イズデイト】関数
引数に指定したデータが日付型(Date)に変換できるかできないかを判定してブール型の値で返します。
IsDate 【イズデイト】関数の書式と引数の説明
IsDate(expression)
【戻り値】 ブール型 (Boolean)
- expression【エクスプレッション】(必須)
日付型に変換できるかできないかを確認する値を指定します。戻り値 内容 True 日付型に変換できます。 False 日付型に変換できません。
ユーザーから受けたデータを日付型に変換できるか確認してから
日付型に変換するコードと解説
Sub 日付型変換() Dim 日付 As Variant 戻る: 日付 = InputBox("生年月日を入力してください") If IsDate(日付) Then MsgBox "生年月日は" & CDate(日付) & "ですね" Else MsgBox "入力形式が違います" GoTo 戻る End If End Sub
Inputbox【インプットボックス】関数でユーザーから受け取る「生年月日」の文字列を格納する変数「日付」をバリアント型(Variant)で宣言します。
3行目【 戻る: 】
IsDate【イズデイト】関数を使用した条件分岐で条件が成立しなかったとき、つまり引数に指定したデータ型が日付型に変換できないとき9行目のGoTo【ゴウトゥ】ステートメントで処理が戻る位置(ラベル)です。
4行目【 日付 = InputBox(“生年月日を入力してください”) 】
Inputbox【インプットボックス】関数を使用して、ユーザーにデータを入力してもらい、変数「日付」に代入します。
5行目【 If IsDate(日付) Then 】
If【イフ】ステートメントを使用してIsDate【イズデイト】関数の戻り値が「True」のときを定義します。つまり、変数「日付」のデータが日付型に変換できるデータであるときを定義します。
6行目【 MsgBox “生年月日は” & CDate(日付) & “ですね” 】
5行目で条件が成立したとき、つまり、変数「日付」に格納されているデータが日付型に変換できるデータのとき、MsgBox【メッセージボックス】関数でデータを日付型に変換するCDate【シーデイト】関数を使用して日付データを表示します。
7行目【 Else 】
Else【エルス】ステートメントを使用して5行目の条件式が成立しなかったとき、つまり、変数「日付」が日付型に変換できないデータのとき、以下の処理を実行します。
8行目【 MsgBox “入力形式が違います” 】
MsgBox【メッセージボックス】関数を使用して、メッセージを表示します。
9行目【 GoTo 戻る】
GoTo【ゴウトゥ】ステートメントで処理を3行目の【 戻る:】ラベルまで戻します。
以上で、CDate【シーデイト】関数 IsDate【イズデイト】関数の解説を終了します。
ありがとうございました。
日付・時刻関数一覧表
日付や時刻の関数一覧表です。関数名がリンクになっています。
クリックすると詳細説明ページが開きます。
関数名 | 説明 |
---|---|
Date | 現在の「日付」を取得します。 |
Year | 日付から「年」を取得します。 |
Month | 日付から「月」を取得します。 |
Day | 日付から「日」を取得します。 |
DatePart | 年・月・日を部分的に取得します。 |
Now | 現在の「日時」を取得します。 |
Time | 現在の「時刻」を取得します。 |
Hour | 時刻の「時」を取得します。 |
Minute | 時刻の「分」を取得します。 |
Second | 時刻の「秒」を取得します。 |
Weekday | 曜日を表す「整数値」を取得します。 |
WeekdayName | 曜日を表す整数値を「曜日名」に変換します。 |
DateSerial | 年・月・日を表す整数値から日付データに変換します。 |
TimeSerial | 時・分・秒を表す整数値から時刻データに変換します。 |
DateDiff | 日付や時間の間隔を計算します。 |
DateAdd | 時間を加算または減算した日付や時刻を取得します。 |
Timer | 経過した秒数を取得します。 |
CDate | データ型を日付型に変換します。 |
IsDate | 日付や時刻として扱えるかを調べます。 |
DateValue | 日付を表す文字列式を日付型(Date)に変換します。 |
TimeValue | 時刻を表す文字列式を日付型(Date)に変換します。 |