VBAのCStr関数:値をString型(文字列)に変換する方法

VBAのCStr関数は、数値や日付などの値を 文字列(String型) に変換するための関数です。
数値をテキストとして扱いたい場合や、メッセージボックス・ログ出力などに活用できます。


1. CStrの基本構文

Dim str As String
str = CStr(値)

「値」 に指定したデータを String型(文字列) に変換します。


2. CStrの特徴

  • 数値・日付・論理値などを文字列に変換できる
  • 計算はできなくなる(数値としての機能は失われる)
  • Null値を変換するとエラーになる

3. CStrの使用例

① 数値を文字列に変換

Dim str As String
str = CStr(12345) ' "12345" に変換(数値ではなく文字列)
MsgBox str

② 小数を文字列に変換

Dim str As String
str = CStr(3.14159) ' "3.14159" に変換
MsgBox str

③ 日付を文字列に変換

Dim str As String
str = CStr(#2025/02/25#) ' "2025/02/25" に変換
MsgBox str

日付の表示形式はPCの設定に依存する ため、環境によって異なることに注意!

④ 論理値(True/False)を文字列に変換

Dim str As String
str = CStr(True) ' "True" に変換
MsgBox str

True は "True" に、False は "False" に変換されます。

⑤ Null値を変換するとエラーになる

Dim str As String
str = CStr(Null) 'エラー発生(Nullは変換できない)

Null を扱う可能性がある場合は、事前にIsNull関数でチェックするのが安全です。


4. CStrを使う場面

  • 数値や日付を文字列として扱いたいとき(メッセージ表示、ログ出力など)
  • 文字列結合をする際に、数値をテキストに変換するとき
  • データの型を統一し、エラーを防ぐため

5. まとめ

  • CStrは 数値・日付・論理値などをString型(文字列)に変換 する関数
  • 数値としての機能は失われる(計算できなくなる)
  • Null値を変換しようとするとエラーになるので注意

データを文字列として扱う必要があるときは、CStrを活用しましょう!

コメント

タイトルとURLをコピーしました