教えて!ExcelVBA!

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

【ExcelVBA 関数】Year関数・Month関数・Day関数を使用し日付から年・月・日を取り出す方法を教えて!

f:id:m_kbou:20200904085421p:plain

日付から年・月・日を取り出す方法について説明します。各々の内容を取り出すには、Year関数・Month関数・Day関数を使用します。

 

 

構文

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

(1)Year関数の記述方法

Year(日付)

[説明]:

日付から年を取り出すにはYear関数を使用します。Year関数の後に日付を記述し「()」(カッコ)で閉じる事で、日付から年を取り出すとの意味になります。内容を纏めると「日付から年を取り出して下さい。」との意味になります。

(2)Month関数の記述方法

Month(日付)

[説明]:

日付から月を取り出すにはMonth関数を使用します。Month関数の後に日付を記述し「()」(カッコ)で閉じる事で、日付から月を取り出すとの意味になります。内容を纏めると「日付から月を取り出して下さい。」との意味になります。

(3)Day関数の記述方法

Day(日付)

[説明]:

日付から日を取り出すにはDay関数を使用します。Day関数の後に日付を記述し「()」(カッコ)で閉じる事で、日付から日を取り出すとの意味になります。内容を纏めると「日付から日を取り出して下さい。」との意味になります。

 

使い方

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

Year関数の使い方

Year関数の使い方について説明します。

[プログラミング例]:

Sub サンプル()
  MsgBox "日付は、" & Now & "です。" & Chr(13) & "年は、" & Year(Now) & "年です。"
End Sub

内容は、「日付から年を取り出してMsgBoxで表示して下さい。」との意味になります。(※今回は例として日付にNow関数を使用しました)

f:id:m_kbou:20210423090901p:plain

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

[実行例]:

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

f:id:m_kbou:20210423090914p:plain

②結果は以下の様に表示されます。「2021/04/21 13:56:52」が現在の日付(時刻含む)のため、MsgBoxで「日付は、2021/04/21 13:56:52です。年は、2021年です。」が表示されます。

f:id:m_kbou:20210423090925p:plain

[サンプル]:

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

drive.google.com

Year関数の使い方についての説明は以上です。

 

Month関数の使い方

Month関数の使い方について説明します。

[プログラミング例]:

Sub サンプル()
  MsgBox "日付は、" & Now & "です。" & Chr(13) & "月は、" & Month(Now) & "月です。"
End Sub

内容は、「日付から月を取り出してMsgBoxで表示して下さい。」との意味になります。(※今回は例として日付にNow関数を使用しました)

f:id:m_kbou:20210423091230p:plain

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

[実行例]:

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

f:id:m_kbou:20210423091242p:plain

②結果は以下の様に表示されます。「2021/04/21 13:49:33」が現在の日付(時刻含む)のため、MsgBoxで「日付は、2021/04/21 13:49:33です。月は、4月です。」が表示されます。

f:id:m_kbou:20210423091256p:plain

[サンプル]:

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

drive.google.com

Month関数の使い方についての説明は以上です。

 

Day関数の使い方

Day関数の使い方について説明します。

[プログラミング例]:

Sub サンプル()
  MsgBox "日付は、" & Now & "です。" & Chr(13) & "日は、" & Day(Now) & "日です。"
End Sub

内容は、「日付から日から取り出してMsgBoxで表示して下さい。」との意味になります。(※今回は例として日付にNow関数を使用しました)

f:id:m_kbou:20210423091533p:plain

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

[実行例]:

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

f:id:m_kbou:20210423091547p:plain

②結果は以下の様に表示されます。「2021/04/21 13:53:59」が現在の日付(時刻含む)のため、MsgBoxで「日付は、2021/04/21 13:53:59です。日は、21日です。」が表示されます。

f:id:m_kbou:20210423091559p:plain

[サンプル]:

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

drive.google.com

Day関数の使い方についての説明は以上です。

 

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

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

www.osiete-excelvba.work

www.osiete-excelvba.work

www.osiete-excelvba.work

 

おわりに

今回は日付から年・月・日を取り出す方法について説明しました。プログラミングをする上で日付の操作は頻繁に出てくる内容です。是非覚えておいて下さい。