教えて!ExcelVBA!

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

【ExcelVBA関数】DateValue関数で文字列日付を日付に変換する方法を教えて!

        f:id:m_kbou:20200213103358p:plain

文字列日付を日付に変換する方法について説明します。他のアプリケーションで使用している日付が文字列であった場合、Excelで日付として使用する場合は日付データへの変換が必要になります。DateValue関数を使用して日付データへ変換する方法を説明します。

 

【目次】

 

構文

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

=======================================================================

DateValue(”[文字列]”

=======================================================================

[説明]:

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

[記述例]:

DateValue("2020年2月13日")
DateValue("令和2年2月13日 午前10時10分")

 

使い方

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

文字列の「YYYY年MM月DD日」を日付に変換する方法

文字列の”YYYY年MM月DD日”を日付に変換する方法について説明します。

[記述例]:

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

-------------------------------------------------

Sub サンプル()
   
    MsgBox DateValue("2020年2月13日")
   
End Sub

-------------------------------------------------

文字列の”2020年2月13日”を日付に変換してMsgBoxで表示して下さい。」との意味になります。

[実行例]:

※2020/2/13が表示されます。 

f:id:m_kbou:20200213103420p:plain

文字列の「YYYY年MM月DD日」を日付に変換する方法についての説明は以上です。

 

文字列の「和暦YY年MM月DD日 午前HH時MM分」を日付に変換する方法

文字列の”和暦YY年MM月DD日 午前HH時MM分”を日付に変換する方法について説明します。

[記述例]:

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

-------------------------------------------------

Sub サンプル()
   
    MsgBox DateValue("令和2年2月13日 午前10時10分")
   
End Sub

-------------------------------------------------

文字列の”令和2年2月13日 午前10時10分”を日付に変換してMsgBoxで表示して下さい。」との意味になります。

[実行例]:

※2020/2/13が表示されます。 

f:id:m_kbou:20200213103420p:plain

文字列の「和暦YY年MM月DD日 午前HH時MM分」を日付に変換する方法についての説明は以上です。

 

おわりに

今回は、DateValue関数を使用した文字列日付を日付に変換する方法について説明しました。上記の”文字列の「和暦YY年MM月DD日 午前HH時MM分」を日付に変換する方法”でも説明しましたが、文字列に時刻が含まれていてもDateValue関数が返すのは日付部分のみとなります。注意して下さい。また、類似の内容として、文字列時刻を時刻に変換する方法もあります。こちらも参考にして下さい。