【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()
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次