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関数の戻り値の文字列には、正数の場合先頭に半角スペース、負数の場合マイナス記号が入ることが確認できます。正数の半角スペースは「+」記号が省略されているのでしょう。
一方3例目の「CStr関数」の場合、正数でも先頭にスペースは入らないことが確認できます。
おわりに
関数一覧はこちらです。
VBAサンプルファイルはダウンロードできます
このページで使用したサンプルファイルの登録はありません(^^;
ダウンロードページへトップリンクは下のカードクリックでジャンプできます。
よろしければご利用ください!
Excel VBA「Str関数」で数値を文字列に変換する方法を紹介しました。
変換された戻り値はバリアント型文字列で、先頭に符号のためのスペースが確保されます。
利用する場合はその部分を考慮する必要があります。
解説は以上です。少しでもみなさまのお役に立てたなら幸いです(^^;