本ページには広告が含まれています。

Excel VBA Str関数 数値を文字列に変換する

Excel VBA Str関数 数値を文字列に変換する

Excel VBAの「Str関数」について解説します。

スポンサーリンク

Str関数とは

Excel VBA の Str関数とは、指定された数値を文字列に変換する関数です。

Str関数(Visual Basic for Applications リファレンス)

スポンサーリンク

構文(引数と戻り値)

Excel VBAの関数を使いこなすには、関数の構文を正しく理解しておくことが重要です。

構文

Str(number)

※ 引数は省略できません。

引数と戻り値

Str 関数の引数と戻り値は次のとおりです。

str関数説明
引数(number)【必須】数値または数式を指定します。
戻り値内部処理形式(String)のVariant型の値を返します。

解説

  • 返す値は、内部処理形式としては文字列だけどバリアント型で返すという意味です。
  • 返されるバリアント型文字列には、先頭に符号のためのスペースが確保されます。
  • Str(321) のように数値がプラスの場合 ” 321″ のように先頭に”+”符号は入らず(省略されて)スペースが入ります。
  • Str(-321) のように数値がマイナスの場合 “-321″ と”-“符号が付きスペースは入りません。
  • このように、Str関数は数値を文字列に変換しますが、型変換関数ではありません。

※ 型変換関数のCStr関数は、数値を文字列型(String)に型変換するのでスペースは入りません。

使用例

次の例は、引数の数値をStr関数で文字列に変換して表示します。

Sub Str_test()
Dim n
n = 456.789
Debug.Print Str(n)    '" 456.789".
Debug.Print Str(-n)   '"-456.789".
'CStr関数の場合
Debug.Print CStr(n)   '"456.789".
End Sub

3例目に、CStr関数で表示させている例を入れています。イミディエイトを確認します。

Str関数実行例のイミディエイト

Str関数の戻り値の文字列には、正数の場合先頭に半角スペース、負数の場合マイナス記号が入ることが確認できます。正数の半角スペースは「+」記号が省略されているのでしょう。

一方3例目の「CStr関数」の場合、正数でも先頭にスペースは入らないことが確認できます。

おわりに

Excel VBA「Str関数」で数値を文字列に変換する方法を紹介しました。

変換された戻り値はバリアント型文字列で、先頭に符号のためのスペースが確保されます。

利用する場合はその部分を考慮する必要があります。

解説は以上です。少しでもみなさまのお役に立てたなら幸いです(^^;

関数一覧はこちらです。

スポンサーリンク
スポンサーリンク

VBAサンプルファイルはダウンロードできます

このページで使用したサンプルファイルの登録はありません(^^;

ダウンロードページへトップリンクは下のカードクリックでジャンプできます。
よろしければご利用ください!