教えて!ExcelVBA!

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

【ExcelVBA 関数】CDate関数で文字列を日付型のデータに変換する方法を教えて!

f:id:m_kbou:20200420124301p:plain

文字列を日付型のデータに変換する方法について紹介します。変換するにはCDate関数を使用します。

 

 

構文

記述方法は以下の通りとなります。

CDate(”[文字列]”)

[説明]:

CDate関数は指定した文字列を日付型データに変換します。[文字列]には日付型データに変換したい文字列を記述し、「”」(ダブルクォーテーション)で囲みます。内容を纏めると、「[文字列]で指定した文字列を日付型データに変換して下さい。」との意味になります。

[記述例]:

CDate("令和2年3月1日")

 

使い方

使い方について具体的に説明します。

日付型データに変換できるケース

日付型データに変換できるケースについて説明します。

[プログラミング例]:

Sub サンプル()
  MsgBox CDate("令和2年3月1日")
End Sub

「文字列”令和2年3月1日”を日付型データに変換してMsgBoxで表示して下さい。」との意味になります。

f:id:m_kbou:20210428062911p:plain

※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。 

[実行例]:

①<実行>ボタンには上記のプログラミング例のプログラムが登録されています。この<実行>ボタンをクリックします。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20210428062924p:plain

②結果は以下の様に表示されます。MsgBoxで日付型データに変換された「2020/03/01」が表示されます。

f:id:m_kbou:20210428062935p:plain

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

文字列を日付型データに変換できるケースについての説明は以上です。

 

日付型データに変換できないケース(エラーとなるケース)

日付型データに変換できないケースについて説明します。

[プログラミング例]:

Sub サンプル()
  MsgBox CDate("令和2")
End Sub

「文字列”令和2年”を日付型データに変換してMsgBoxで表示して下さい。」との意味になります。

f:id:m_kbou:20210428063131p:plain

※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。 

[実行例]:

①<実行>ボタンには上記のプログラミング例のプログラムが登録されています。この<実行>ボタンをクリックします。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20210428063145p:plain

②結果は以下の様に表示されます。和暦だけの様な文字列は日付型データに変換できないため、エラーメッセージが表示されます。

f:id:m_kbou:20210428063155p:plain

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

文字列を日付型データに変換できないケースについての説明は以上です。

 

プログラミング(サンプル)

プログラミング事例を紹介します。

www.osiete-excelvba.work

 

おわりに

今回はCDate関数を使用した文字列を日付型データに変換する方法について説明しました。日付型データに変換する事で日付の計算も可能になります。是非活用してみて下さい。