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

Excelマクロで必須のVBA関数を入門・初級・初心者向けに詳細解説
最終更新日: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 ・・・新着記事一覧を見る

TOROW関数(配列を横1行の配列にして返す)|エクセル入門(2022-10-31)
TOCOL関数(配列を縦1列の配列にして返す)|エクセル入門(2022-10-31)
CHOOSECOLS関数(配列から複数の指定された列を返す)|エクセル入門(2022-10-29)
CHOOSEROWS関数(配列から複数の指定された行を返す)|エクセル入門(2022-10-29)
WorksheetFunctionの効率的な使い方とスピル新関数の利用|VBA入門(2022-10-27)
VSTACK関数(配列を縦方向に順に追加・結合)|エクセル入門(2022-10-25)
HSTACK関数(配列を横方向に順に追加・結合)|エクセル入門(2022-10-25)
LAMBDA以降の新関数の問題と解説(配列操作関数編)|エクセル入門(2022-10-24)
LAMBDA以降の新関数の問題と解説(ヘルパー関数編)|エクセル入門(2022-10-24)
LAMBDA以降の新関数の問題集|エクセル入門(2022-10-24)


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

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.繰り返し処理(For Next)|VBA入門
5.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
6.Excelショートカットキー一覧|Excelリファレンス
7.並べ替え(Sort)|VBA入門
8.マクロって何?VBAって何?|VBA入門
9.エクセルVBAでのシート指定方法|VBA技術解説
10.ExcelマクロVBAの基礎を学習する方法|エクセルの神髄




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


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



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