【VBAで感動する瞬間⑬】Format関数で日付整形が一気にラクになる話 〜Right("0" & Month(Date), 2) 時代を卒業しよう〜
こんにちは。 ごんた@VBAレッスン です。今日は、実務でよく使うのに意外と知られていない format関数の便利さについてお話しします。特に、日付を並べたいときに 「Year や Month や Day を組み合わせて、2桁にして、& でつなぐ」 という昔ながらのやり方をしていた方には、 きっと“目からウロコ”になる内容です。■ 昔はこうやって日付を作っていた(あるある)私も最初は、こんなコードを書いていました。```vbYear(Date) & Right("0" & Month(Date), 2) & Right("0" & Day(Date), 2)```そう、 Right("0" & Month(Date), 2)これ、みんな一度は通る道なんですよね。当時のVBA本は全部この書き方だったので、 「これが正解なんだ」と信じて真面目にやっていました。でも、実務で使っていると…- コードが長い - 読みにくい - 修正が面倒 - 似た処理を何度も書く という“地味なストレス”が積み重なっていきます。■ format関数を知った瞬間、世界が変わる同じことが、formatを使うと一撃で終わります。● 8桁の yyyymmdd を作りたい```vbFormat(Date, "yyyymmdd")```● yyyy-mm-dd にしたい```vbFormat(Date, "yyyy-mm-dd")``` ● 日本語表記にしたい```vbFormat(Date, "yyyy年m月d日")```● 月や日を2桁固定に
0