Excel VBA:Format関数を使用した各種日付の表示|22種類の例文

Excel VBAで現在の日付を、Format関数を使用し、いろいろな形式で表示させてみます。



Homeに戻る > Excel 日付・時間のTipsへ

日付の表示形式は帳票などによって異なる場合が多く、それに対応する為にVBAではFormat関数を使用します。

しかしFormat関数の引数の表示書式設定は種類も多く全て覚えられません。

そこで必要な時は、このページの例文を参照し設定してください。

Format関数の構文:
Format( expression[,format [,firstdayofweek [,firstweekofyear]]])

  • expression:(必須)日付や数値など変換元の値を指定します。
  • format:(省略可)書式を指定します。
  • firstdayofweek:(省略可)最初の曜日を指定します。
  • firstweekofyear:(省略可)年内で最初の週を指定します。

ここでは日付と時刻に関する書式を掲載します。

引数formatに設定可能な書式

書式 表示サンプル 内容
Long Date 2020年7月9日 長い形式の日付
Medium Date 07-09-20 簡略形式の日付
Short Date 2020/07/09 短い形式の日付
Long Time 15:21:35 時:分:秒の形式
Medium Time 3:21 午後 午前・午後を追加した12時間制で表示
Short Time 15:21 時:分を24時間制で表示

引数formatの書式に設定できる文字

文字 表示サンプル 内容
: 3:17:20 時刻の区切り
/ 2020/07/09 日付の区切り
d 1~31 日付が1桁の場合、0を付けずに表示
dd 01~31 日付が1桁の場合、0を付けて表示
ddd Sun~Sat 曜日を省略形の英語表示
dddd Sunday~Saturday 曜日を英語表示
ddddd 2020/07/09 日付をyyyy/mm/dd形式で表示
dddddd July 09 2020 日付を月の英語表記、dd, yyyy形式で表示
aaa 日~土 曜日を省略形の日本語表示
aaaa 日曜日~土曜日 曜日を日本語表示
m 1~12 月が1桁の場合、0を付けずに表示
mm 01~12 月が1桁の場合、0を付けて表示
mmm Jan~Dec 月を省略形の英語表示
mmmm January~December 月を英語表示
oooo 1月~12月 月を日本語表示
g M、T、S、H、R 元号の頭文字をローマ字で表示
gg 明、大、昭、平、令 元号の漢字1文字
ggg 明治、大正、昭和、平成、令和 元号
e 2 和暦が1桁の場合、0を付けずに表示
ee 02 和暦が1桁の場合、0を付けて表示
y 1~366 1年の何日目かを表示
yy 00~99 西暦の下2桁を表示
yyyy 100~9999 西暦
h 0~23 時間が1桁の場合、0を付けずに表示
hh 09 時間が1桁の場合、0を付けて表示
n 0~59 分が1桁の場合、0を付けずに表示
nn 07 分が1桁の場合、0を付けて表示
s 0~59 秒が1桁の場合、0を付けずに表示
ss 00~59 秒が1桁の場合、0を付けて表示
ttttt 9:15:20 h:nn:ss形式で時刻を表示

関連する「Format関数による小数点や指数などの様々な数値表示の書式」も掲載しています参照してください。




Excel VBA で使用するFormat関数コードの解説

コマンドボタン クリックイベントのVBA

Private Sub CommandButton1_Click()
   '各種形式で日付、時刻を表示します。
    Range("B10").Value = Format(Now, "yyyy.mm.dd")
    Range("B11").Value = Format(Now, "yyyy.m.d")
    Range("B12").Value = Format(Now, "yy.mm.dd")
    Range("B13").Value = Format(Now, "yy.m.d")
    Range("B14").Value = Format(Now, "'yy.mm.dd")
    Range("B15").Value = Format(Now, "'yy.m.d")
    Range("B16").Value = Format(Now, "yyyy/mm/dd")
    Range("B17").Value = Format(Now, "yyyy/m/d")
    Range("B18").Value = Format(Now, "yy/mm/dd")
    Range("B19").Value = Format(Now, "yy/m/d")
    Range("B20").Value = Format(Now, "gee.mm.dd")
    Range("B21").Value = Format(Now, "gee.m.d")
    Range("B22").Value = Format(Now, "e.mm.dd")
    Range("B23").Value = Format(Now, "e.m.d")
    Range("B24").Value = Format(Now, "ggee.mm.dd")
    Range("B25").Value = Format(Now, "ggge.m.d")
    Range("B26").Value = Format(Now, "yy年mm月dd日")
    Range("B27").Value = Format(Now, "yy年m月d日")
    Range("B28").Value = Format(Now, "yyyy年mm月dd日")
    Range("B29").Value = Format(Now, "gee年mm月dd日")
    Range("B30").Value = Format(Now, "gggee年mm月dd日")
    Range("B31").Value = Format(Now, "mm月dd日")
End Sub




実行結果のExcelシート

コマンドボタンをクリックすると、B10から様々な形式で日付が表示されます。

2007.02.26
2007.2.26
07.02.26
07.2.26
07.02.26
07.2.26
2007/2/26
2007/2/26
2026/7/2
2026/7/2
H19.02.26
H19.2.26
19.02.26
19.2.26
平19.02.26
平成19.2.26
07年02月26日
07年2月26日
2007年02月26日
H19年02月26日
平成19年02月26日
2月26日

Format関数を実行したシート


Homeに戻る > Excel 日付・時間のTipsへ

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved