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関数は持っています。詳しくは、下記をご覧ください。