和風スパゲティのレシピ

日本語でコーディングするExcelVBA

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

数値を文字列型に変換する、Str関数の使い方を解説します。

基本形

Str(変換したい数値)

実行例

Str(123) ' = " 123"
Str(True) ' = "True"
Str(#5/18/2025#) ' = "2025/5/18"
Str(1 / 3) ' = " .333333333333333"
Str(5 / 3) ' = "1.66666666666667"
Str("あいう") ' 型が一致しませんエラー

解説

Str関数は数値を文字列(String)型に変換する関数です。

とリファレンスには書いてありますが、
実行例の通りBoolean型やDate型も文字列に変換します。

IsNumericの判定よりも緩い条件で実行できるようですが、
Stringを渡したときは流石に「型が一致しません」エラーとなるようです。


また、Str関数の不要な仕様として、
数値がプラスの値なら先頭に半角スペースが確保されます。

ただし日付型を変換した場合は半角スペースは入りません。


さらにもう一つ不思議な仕様として、小数を渡した場合、
「0.xxxx」のような小数であれば最初の「0」が消去されます。


と、不思議な挙動だらけでとても使用する気にはなれない関数ですね(´∀`;)

文字列(String型)に変換したい場面では、
型変換のC(キャスト)関数シリーズにCStr関数が普通にあります。

こちらを使っていきましょう。
www.limecode.jp


Str関数をわざわざ使う場面は滅多にないと思いますので、
間違って使わないよう注意してください。