VBA関数
FormatCurrency関数,FormatDateTime関数,FormatNumber関数,FormatPercent関数

Excelマクロで必須のVBA関数を入門・初級・初心者向けに詳細解説
公開日:2013年5月以前 最終更新日:2021-08-14

FormatCurrency関数,FormatDateTime関数,FormatNumber関数,FormatPercent関数


Format関数は、式を指定した書式に変換しますが、
FormatCurrency関数
FormatDateTime関数
FormatNumber関数
FormatPercent関数
これらの関数は、
コンピューターの地域の設定を使用して、通貨/日付時刻/数値/パーセンテージの書式に変換する場合に使用します。


FormatCurrency関数

コントロール パネルで定義された通貨記号を使用して、通貨値として書式設定された式を返します。

FormatCurrency(Expression, [ NumDigitsAfterDecimal, [ IncludeLeadingDigit, [ UseParensForNegativeNumbers, [ GroupDigits ]]]])

引数 説明
Expression 必須。
書式設定する式です。
NumDigitsAfterDecimal 省略可能。
表示する小数点以下の桁数を示す数値です。
既定値は-1:コンピューターの地域の設定が使用されます。
IncludeLeadingDigit 省略可能。
小数値に先頭のゼロを表示するかどうかを示すTristate定数です。
省略値はvbUseDefault:コンピューターの地域の設定が使用されます。
UseParensForNegativeNumbers 省略可能。
負の値をかっこで囲むかどうかを示すTristate定数です。
省略値はvbUseDefault:コンピューターの地域の設定が使用されます。
GroupDigits 省略可能。
コンピューターの地域の設定で指定されている桁区切り記号を使用して数値を区切るかどうかを示すTristate定数です。
省略値はvbUseDefault:コンピューターの地域の設定が使用されます。

Tristate定数

定数 説明
vbTrue -1 TRUE
vbFalse 0 FALSE
vbUseDefault -2 コンピューターの地域の設定を使用します。

コントロールパネル「地域」→「追加の設定」→「通貨」

VBA マクロ Format Currency

FormatCurrency関数の使用例

以下の結果は、コンピューターの地域の設定により変化します。

使用例 結果
FormatCurrency(12345) \12,345
FormatCurrency(12345, 2) \12,345.00
FormatCurrency(0.123, 2, False) \.12
FormatCurrency(-12345, , , vbTrue) (\12,345)
FormatCurrency(12345, , , , vbTrue) \12,345

FormatDateTime関数

日付または時刻として書式設定された式を返します。

FormatDateTime(Date, [ NamedFormat ])

引数 説明
Date 必須。
書式設定する日付式。
NamedFormat 省略可能。
使用する日付/時刻の形式を示す数値。
省略値はvbGeneralDate

NamedForma

定数 説明
vbGeneralDate 0 日付と時刻のどちらか、または両方を表示します。
日付部分がある場合は、短い日付として表示します。
時刻部分がある場合は、長い時刻として表示します。
両方ある場合は両方の部分を表示します。
vbLongDate 1 コンピューターの地域の設定で指定されている長い日付形式を使用して日付を表示します。
vbShortDate 2 コンピューターの地域の設定で指定されている短い日付形式を使用して日付を表示します。
vbLongTime 3 コンピューターの地域の設定で指定されている時刻形式を使用して時刻を表示します。
vbShortTime 4 24 時間形式 (hh:mm) を使用して時刻を表示します。

コントロールパネル「地域」→「追加の設定」→「時刻」「日付」

VBA マクロ FormatDateTime

VBA マクロ FormatDateTime

FormatCurrency使用例

以下の結果は、コンピューターの地域の設定により変化します。

使用例 結果
FormatDateTime(Now()) 2020/01/19 14:32:58
FormatDateTime(Now(), vbLongDate) 2020年1月19日
FormatDateTime(Now(), vbLongTime) 14:32:58
FormatDateTime(Now(), vbShortDate) 2020/01/19
FormatDateTime(Now(), vbShortTime) 14:32

FormatNumber関数

数値として書式設定された式を返します。

FormatNumber(Expression, [ NumDigitsAfterDecimal, [ IncludeLeadingDigit, [ UseParensForNegativeNumbers, [ GroupDigits ]]]])

引数 説明
Expression 必須。
書式設定する式です。
NumDigitsAfterDecimal 省略可能。
表示する小数点以下の桁数を示す数値です。
既定値は-1:コンピューターの地域の設定が使用されます。
IncludeLeadingDigit 省略可能。
小数値に先頭のゼロを表示するかどうかを示すTristate定数です。
省略値はvbUseDefault:コンピューターの地域の設定が使用されます。
UseParensForNegativeNumbers 省略可能。
負の値をかっこで囲むかどうかを示すTristate定数です。
省略値はvbUseDefault:コンピューターの地域の設定が使用されます。
GroupDigits 省略可能。
コンピューターの地域の設定で指定されている桁区切り記号を使用して数値を区切るかどうかを示すTristate定数です。
省略値はvbUseDefault:コンピューターの地域の設定が使用されます。

Tristate定数

定数 説明
vbTrue -1 TRUE
vbFalse 0 FALSE
vbUseDefault -2 コンピューターの地域の設定を使用します。

コントロールパネル「地域」→「追加の設定」→「数値」

VBA マクロ FormatNumber

FormatNumber関数の使用例

以下の結果は、コンピューターの地域の設定により変化します。

使用例 結果
FormatNumber(12345) 12,345.00
FormatNumber(12345, 1) 12,345.0
FormatNumber(0.123, 2, False) .12
FormatNumber(-12345, , , vbTrue) (12,345.00)
FormatNumber(12345, , , , vbTrue) 12,345.00

FormatPercent関数

パーセンテージとして (100 倍して) 書式設定された式を、末尾に % 記号を追加して返します。

FormatPercent(Expression, [ NumDigitsAfterDecimal, [ IncludeLeadingDigit, [ UseParensForNegativeNumbers, [ GroupDigits ]]]])

引数 説明
Expression 必須。
書式設定する式です。
NumDigitsAfterDecimal 省略可能。
表示する小数点以下の桁数を示す数値です。
既定値は-1:コンピューターの地域の設定が使用されます。
IncludeLeadingDigit 省略可能。
小数値に先頭のゼロを表示するかどうかを示すTristate定数です。
省略値はvbUseDefault:コンピューターの地域の設定が使用されます。
UseParensForNegativeNumbers 省略可能。
負の値をかっこで囲むかどうかを示す Tristate 定数です。
省略値はvbUseDefault:コンピューターの地域の設定が使用されます。
GroupDigits 省略可能。
コンピューターの地域の設定で指定されている桁区切り記号を使用して数値を区切るかどうかを示すTristate定数です。
省略値はvbUseDefault:コンピューターの地域の設定が使用されます。

Tristate定数

定数 説明
vbTrue -1 TRUE
vbFalse 0 FALSE
vbUseDefault -2 コンピューターの地域の設定を使用します。

コントロールパネル「地域」→「追加の設定」→「数値」

VBA マクロ FormatPercent

FormatPercent関数の使用例

以下の結果は、コンピューターの地域の設定により変化します。

使用例 結果
FormatPercent(1.23) 123.00%
FormatPercent(1.23, 1) 123.0%
FormatPercent(0.0012, 2, False) .12%
FormatPercent(-0.12, , , vbTrue) (12.00%)
FormatPercent(12.3, , , , vbTrue) 1,230.00%


Office VBA リファレンス FormatCurrency関数
Office VBA リファレンス FormatDateTime関数
Office VBA リファレンス FormatNumber関数
Office VBA リファレンス FormatPercent関数


※VBA関数一覧
マクロVBA関数の一覧と解説です、どんな関数があるかは一度は確認しておくとをお勧めいたします。どんな関数があるだけでも知っておけば、詳細の使い方は実際に使うときに調べても良いでしょう。文字列操作…34 分岐…3 型変換…14 データ判定…10 日付時刻…20 配列…6 ファイル操作…14 数学/財務…28 その他……



同じテーマ「VBA関数」の記事

Chr関数,ChrB関数,ChrW関数
Format関数
FormatCurrency関数,FormatDateTime関数,FormatNumber関数,FormatPercent関数
InStr関数
InStrRev関数
LCase関数
UCase関数
Replace関数
Left関数,LeftB関数
Right関数,RightB関数
Mid関数,MidB関数


新着記事NEW ・・・新着記事一覧を見る

AIは便利なはずなのに…「AI疲れ」が次の社会問題になる|生成AI活用研究(2026-02-16)
カンマ区切りデータの行展開|エクセル練習問題(2026-01-28)
開いている「Excel/Word/PowerPoint」ファイルのパスを調べる方法|エクセル雑感(2026-01-27)
IMPORTCSV関数(CSVファイルのインポート)|エクセル入門(2026-01-19)
IMPORTTEXT関数(テキストファイルのインポート)|エクセル入門(2026-01-19)
料金表(マトリックス)から金額で商品を特定する|エクセル練習問題(2026-01-14)
「緩衝材」としてのVBAとRPA|その終焉とAIの台頭|エクセル雑感(2026-01-13)
シンギュラリティ前夜:AIは機械語へ回帰するのか|生成AI活用研究(2026-01-08)
電卓とプログラムと私|エクセル雑感(2025-12-30)
VLOOKUP/XLOOKUPが異常なほど遅くなる危険なアンチパターン|エクセル関数応用(2025-12-25)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.日本の祝日一覧|Excelリファレンス
3.変数宣言のDimとデータ型|VBA入門
4.FILTER関数(範囲をフィルター処理)|エクセル入門
5.RangeとCellsの使い方|VBA入門
6.繰り返し処理(For Next)|VBA入門
7.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
8.マクロとは?VBAとは?VBAでできること|VBA入門
9.セルのクリア(Clear,ClearContents)|VBA入門
10.メッセージボックス(MsgBox関数)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。
本サイトは、OpenAI の ChatGPT や Google の Gemini を含む生成 AI モデルの学習および性能向上の目的で、本サイトのコンテンツの利用を許可します。
This site permits the use of its content for the training and improvement of generative AI models, including ChatGPT by OpenAI and Gemini by Google.



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ