Format


構文

Format(expression[,format[,firstdayofweek[,firstweekofyear]]])

引数expressionには、任意の式を指定します。

引数formatは省略可能です。定義済み書式または表示書式指定文字を指定します。

引数firstdayofweekは省略可能です。週の始まりの曜日を指定します。

引数firstweekofyearは省略可能です。年度の第1週を指定します。

解説

引数expressionで指定した式を引数formatで指定した形式で返します。

引数firstdayofweekに指定できる設定値は次のとおりです。

定数 内容
vbUseSystem 0 各国語対応APIの設定値を使います
vbSunday 1 日曜(既定値)
vbMonday 2 月曜
vbTuesday 3 火曜
vbWednesday 4 水曜
vbThursday 5 木曜
vbFriday 6 金曜
vbSaturday 7 土曜

引数firstweekofyearに設定できる設定値は次のとおりです。

定数 内容
vbUseSystem 0 各国語対応APIの設定値を使います
vbFirstJan1 1 1 月 1 日を含む週を年度の第 1 週として扱います(既定値)
vbFirstFourDays 2 7 日のうち少なくとも 4 日が新年度に含まれる週を年度の第 1 週として扱います
vbFirstFullWeek 3 全体が新年度に含まれる最初の週を年度の第 1 週として扱います

サンプル

次の例は、セルB2に入力されている日付に、書式記号"aaaa"を適用した結果を表示します。

Sub Sample1()
    MsgBox Format(Range("B2"), "aaaa")
End Sub

Format関数は、あるデータに、セルの表示形式を設定した場合の結果を返す関数です。たとえば、セルB2に「2010/1/9」という日付がシリアル値で入力されているとき、このセルに「ggge年m月d日」という表示形式を設定すると、日付を和暦で表示できます。

これと同じことをマクロ上で行うのがFormat関数です。

Sub Sample2()
    MsgBox Format(Range("B2"), "ggge年m月d日")
End Sub

もちろん、日付以外に、数値の書式記号などを使うことも可能です。

Format関数と、セルの表示形式は、まったく同じではありません。セルの表示形式では実現できないような機能を、Format関数は持っています。詳しくは、下記をご覧ください。

Format関数と表示形式の違い