このサイトの記事内では「アフィリエイト広告」などの広告を掲載している場合があります。
消費者庁が問題としている「誇大な宣伝や表現」とならないよう配慮しコンテンツを制作しておりますのでご安心ください。
問題のある表現が見つかりましたらお問い合わせよりご一報いただけますと幸いです。

【VBA】数値を文字列に変換する方法(CStr関数)

2024年3月23日

今回は数値を文字列に変換する方法を紹介します。

VBAはあまり型を気にしないでも書けますが、厳密さが必要なときには型を合わせることが重要です。 (※)

数値を文字列に変換するにはCStr関数を使います。

この関数の使い方とサンプルコードをお見せするので、ご確認ください。

※補足ですが、自作プロシージャの引数をString型にしていると、コンパイルエラー回避のために文字列への変換が必須になります。私はよくやります。

VBAが難しいと感じたら
ココナラにてマクロ(VBA)の作成代行を始めました。
ご依頼はこちらから

数値を文字列に変換する方法(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型)となっていることが分かります。

《関連記事》

VBAが難しいと感じたら
ココナラにてマクロ(VBA)の作成代行を始めました。
ご依頼はこちらから

VBA

Posted by やろまい