「vba 今日の日付を取得yyyymmdd」
「excel vba 今日の日付をyyyymmddで取り出す」
といった検索で、このサイト『インストラクターのネタ帳』へのアクセスが時折あります。
VBA(Visual Basic for Applications)で、今日の日付をyyyymmdd形式の数字で取得するにはどうすればいいのかを探している方による検索です。
「vba 今日の日付 8ケタで取得」
という検索も同じことを探していたと考えられます。
TODAY関数で取得した今日の日付を、yyyymmdd形式にする方法をご紹介しています。そのVBA版を探していたのでしょう。
今日の日付をyyyymmdd形式で取得するサンプルマクロ
参考になりそうなシンプルなマクロをご紹介しておきます。MsgBox Format(Date, "yyyymmdd")
End Sub
上記のマクロを2016年6月6日に実行した場合、「20160606」とメッセージボックスに表示されます。
サンプルマクロの解説
VBAではDate関数で今日の日付を取得できます。
Date関数で取得した今日の日付をFormat関数を使って、yyyymmdd形式に書式を整形しているのが、
Format(Date, "yyyymmdd")
というコードです。
ワークシート関数の場合に、
TEXT(TODAY(), "yyyymmdd")
という、今日の日付を返すTODAY関数と、書式を整えるTEXT関数を使った数式で、今日の日付をyyyymmdd形式で取得できました。そのVBA版が、上記のマクロで利用している、
Format(Date, "yyyymmdd")
です。
Year関数・Month関数・Day関数を使って、年・月・日をバラバラにして...といった考え方をするよりも、このような書式を指定するという考え方のほうがシンプルで済みます。
Home » エクセルマクロ・Excel VBAの使い方 » VBA関数 » VBAで今日の日付をyyyymmdd形式で取得する-Date・Format関数