CStr関数:値を文字列に変換する

CStr 関数は Excel VBA で用意されている関数の一つで、引数に指定した値を文字列に変換します。ここでは Excel VBA における CStr 関数の使い方について解説します。

※ 同じ用途で使用する Str 関数の使い方については「Str関数:数値を文字列に変換する」を参照されてください。

(Last modified: )

CStr関数の定義と使い方

CStr 関数は引数に指定した値を文字列に変換します。

CStr(expression)

1 番目の引数に対象となる値を指定します。値を文字列に変換した値を戻り値として返します。主に数値を文字列に変換するのに使用しますが Str 関数とは異なり正の数を変換するときに先頭に空白文字を追加しません。

次の例を見てください。

Debug.Print CStr(72)    '72
Debug.Print CStr(-3.5)  '-3.5

引数に指定した数値を文字列に変換した結果をイミディエイトウィンドウに表示します。正の数であっても負の数であってもそのまま文字列に変換します。

サンプルコード

それでは簡単なサンプルを作成して試してみます。

Option Explicit

Sub CStr関数()
    Debug.Print CStr(74)
    Debug.Print CStr(3.275)
    Debug.Print CStr(-45)
    Debug.Print CStr(#3/14/2021#)
    Debug.Print CStr(#4:35:17 PM#)
End Sub

CStr関数の定義と使い方(1)

このプログラムを実行すると引数に指定した数値や日付や時刻に関する値を CStr 関数を使って文字列に変換しイミディエイトウィンドウに出力します。

CStr関数の定義と使い方(2)

日付と時刻に関しては入力した値をそのまま文字列に変換するのではなく、一定のフォーマットに変換したあとで文字列に変換されています。

CStr関数とStr関数の違い

CStr 関数と Str 関数の違いは正の数値を文字列に変換したときに先頭に符号用の空白を追加するかどうかです。 Str 関数の場合は正の数値を文字列に変換すると先頭に空白文字が追加されます。

次のサンプルをみてください。

Option Explicit

Sub CStr関数()
    Debug.Print Str(74)
    Debug.Print CStr(74)
    Debug.Print Str(-45)
    Debug.Print CStr(-45)
End Sub

CStr関数とStr関数の違い(1)

このプログラムを実行すると、負の数値に関してはどちらの関数を使っても同じ結果となりますが、正の数値に関しては CStr 関数がそのまま文字列に変換しているのに対して Str 関数の場合は先頭に空白文字が一つ追加されています。

CStr関数とStr関数の違い(2)

用途に応じてどちらの関数を使用するか選択されてください。

-- --

Excel VBA における CStr 関数の使い方について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。