HOME > 即効テクニック > Excel VBA > 関数関連のテクニック > 指定した数値形式の書式に変換した値を返す(FormatNumber関数)

即効テクニック

関数関連のテクニック

指定した数値形式の書式に変換した値を返す(FormatNumber関数)

(Excel 2000)
FormatNumber関数は、コントロールパネルの[地域のプロパティ]の[数値]タブで設定されている書式を使って、数値形式の文字列を返します。各引数の内容は、FormatCurrency関数とまったく同じものになりますので、そちらを参照してください。

  構文 FormatNumber(Expression, NumDigitsAfterDecimal, IncludeLeadingDigit, 
                     UseParensForNegativeNumbers, GroupDigits)

  設定項目                  内容
  Expression                   変換の対象となる数値や数式を指定[省略不可]
  NumDigitsAfterDecimal        小数点以下に表示する桁数を指定[省略可能]
  IncludeLeadingDigit          小数点の左側のゼロを表示するかどうか[省略可能]
  UseParensForNegativeNumbers  負の値の場合に値を括弧で囲むかどうか[省略可能]
  GroupDigits                  桁区切りを表示するかどうか[省略可能]


次のサンプルを見てください。

●サンプル●
Sub FormatNumberSamp1()
    Dim myStr1 As String, myStr2 As String
    '---Format関数で定義済み数値書式使用
    myStr1 = Format(123456, "Standard")
    '---FormatNumber関数
    myStr2 = FormatNumber(123456)
    MsgBox "定義済み数値書式 : " & myStr1 & Chr(13) & _
           "FormatNumber関数 : " & myStr2
End Sub
FormatNumber関数によって返される文字列は、Format関数で、書式に定義済み数値書式の"Standard"を指定した場合とまったく同じになります。

●補足●
コントロールパネルの[地域]タブのに変更があった場合、FormatNumber関数はその影響を受けますが、Format関数は影響を受けません。