【VBA】数値を文字列に変換する方法|CStr・Format・Strの違いも解説【保存版】
目次
✅ 数値を文字列に変換する3つの代表的な方法
方法 | 説明 | 用途の例 |
---|
CStr() | 数値をシンプルに文字列に変換 | 基本的な文字列変換に最適 |
Format() | 書式を指定して変換(桁数・日付・通貨など) | 表示形式を整えたいとき |
Str() | 数値を文字列に変換するが先頭に空白が付く | 古いコード互換向け(注意あり) |
🔸 CStr関数(最も基本的な変換)
Dim num As Long
Dim text As String
num = 123
text = CStr(num) ' → "123"
MsgBox text
✅ 特徴:
- 安定して使える
- 四捨五入や補正が起きない
- 最も推奨される方法
🔸 Format関数(書式を指定して文字列化)
Dim price As Long
Dim result As String
price = 2500
result = Format(price, "¥#,##0") ' → "¥2,500"
MsgBox result
✅ こんなときに便利:
- 通貨記号(¥ や $)を付けたい
- 桁数を固定したい(例:”0005″)
- 日付や時間などのフォーマット変換にも使える
🔸 Str関数(空白が入るため注意)
Dim val As Integer
Dim txt As String
val = 99
txt = Str(val) ' → " 99"(先頭に空白が付く)
MsgBox txt
⚠️ 注意:
- 先頭にスペースが入る(正負の符号のため)
- 他の文字列と連結する場合に意図しないスペースが混じる可能性
✅ まとめ|基本はCStr、整形したいならFormatを
シーン | おすすめ関数 |
---|
単純な変換 | CStr() |
書式を指定したい場合 | Format() |
古いVBA互換コードのみ | Str() |