サイトについて      連絡先   検索

VBA Format 関数

はじめに

Excel VBA の Format 関数を紹介します。

Format 関数は、値を指定した書式で文字列型 (String) に変換します。

数値や日付を指定の形式に変換したいときに使用します。四捨五入をするときにも使用します。

構文

Format(値)

Format(値, 書式)

名前 説明
引数「値」数値や日付など文字列型に変換したい値を指定します。
引数「書式」省略できます。書式を指定します。
戻り値文字列型 (String)

引数「書式」、値が数値 (12345) のとき

書式 結果 説明
####,###12,345桁があればそれを表示します。
0000,000012,345桁があればそれを表示します。ないときは 0 を表示します。
%0.0%1234500.0%数値を 100 倍し % 記号を表示します。
\\\\0\12345\ 記号を表示します。
文字最大0最大12345そのまま文字を表示します。

引数「書式」、値が日付 (2013/1/2 3:4:56) のとき

書式 結果 説明
yyyyy2013年を表示します。書式一つが下一桁を表しています。
mmm01月を表示します。
mm のようにすると必ず二桁表示します。日時分秒でも同じです。
dd2日を表示します。
hhh03時を表示します。
nn4分を表示します。
ss56秒を表示します。

解説

数値を渡されたときは、数値の書式が適用されます。

日付を渡されたときは、日付の書式が適用されます。

書式を省略したときは、値をそのまま文字列にします。

書式に "0" を指定すると四捨五入できます。

使用例

Dim i As Integer
i = 12345
Debug.Print (Format(i,"###,###")) ' 12,345

Debug.Print (Format(i,"000,000")) ' 012,345

Debug.Print (Format(i,"0")) ' 12345

Debug.Print (Format(i, "0.00%")) ' 1234500.00%
Dim d As Date
d = "2013/1/2 3:4:56"
Debug.Print (Format(d,"yy年")) ' 13年

Debug.Print (Format(d,"yyyy年mm月dd日")) ' 2013年01月02日

Debug.Print (Format(d,"yyyy/m/d")) ' 2013/1/2

Debug.Print (Format(d,"hh:nn:ss")) ' 03:04:56

Debug.Print (Format(d,"h:n:s")) ' 3:4:56
' 四捨五入
Dim i As Integer
i = Format(2.5, "0")
Debug.Print (i) ' 3

関連ページ