【VBA】数値を文字列に変換する方法(CStr関数)
今回は数値を文字列に変換する方法を紹介します。
VBAはあまり型を気にしないでも書けますが、厳密さが必要なときには型を合わせることが重要です。 (※)
数値を文字列に変換するにはCStr関数を使います。
この関数の使い方とサンプルコードをお見せするので、ご確認ください。
※補足ですが、自作プロシージャの引数をString型にしていると、コンパイルエラー回避のために文字列への変換が必須になります。私はよくやります。
数値を文字列に変換する方法(CStr関数)
CStr(数値)
CStr関数はこのように使います。
与えた数値を文字列型に変換して返してくれます。
Sub Sample1()
Dim i As Long
i = 1
Call サンプルプロシージャ(CStr(i)) 'CStrがないとコンパイルエラーになる
End Sub
Private Sub サンプルプロシージャ(str As String)
Debug.Print str
End Sub
実際の使い方としてはこのようになります。
このサンプルコードでは、自作プロシージャへ引数を渡しています。
自作プロシージャの引数にString型を指定しているので、数値型であるiをそのまま渡そうとするとコンパイルエラーとなります。
そのため、CStr関数によって文字列変換してから渡すことで型を一致させています。
Sub 型の確認()
Dim i As Long
i = 1
Debug.Print TypeName(i) 'Long
Debug.Print TypeName(CStr(i)) 'String
End Sub
ちなみに、TypeName関数で型を確認すると文字列(String型)となっていることが分かります。
《関連記事》