VBAで自動化 VBA一覧 変換・データ型 配列・データ操作

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

Excel VBAは、データの型を変換するためのさまざまな関数を提供しています。CStr関数は値を文字列に変換するために便利な関数です。CStr関数の使い方とその応用について説明します。

CStr関数とは

CStr関数は、指定した値を文字列に変換するための関数です。この関数を使用することで、数値、日付、論理値など、さまざまなデータ型を文字列に変換することができます。

【基本的な構文】
CStr(Expression)

  • Expression
    文字列に変換したい値。

CStr関数の基本的な使用例

1. 数値を文字列に変換

数値を文字列に変換する基本的な例です。

Sub ConvertNumberToString()

Dim num As Double
Dim str As String

num = 1234.56
str = CStr(num)

Debug.Print str ' 出力: 1234.56

End Sub

2. 日付を文字列に変換

日付を文字列に変換する例です。

Sub ConvertDateToString()

Dim dt As Date
Dim str As String

dt = DateSerial(2024, 7, 9)
str = CStr(dt)

Debug.Print str ' 出力: 07/09/2024 (地域設定により異なる場合があります)

End Sub

3. 論理値を文字列に変換

論理値を文字列に変換する例です。

Sub ConvertBooleanToString()

Dim boolVal As Boolean
Dim str As String

boolVal = True
str = CStr(boolVal)

Debug.Print str ' 出力: True

End Sub

CStr関数の応用例

1. セルの値を文字列として取得

セルの値を文字列に変換して取得する方法です。

Sub ConvertCellValueToString()

Dim cellValue As Variant
Dim str As String

' セルA1の値を取得
cellValue = ThisWorkbook.Sheets("Sheet1").Range("A1").Value

' 値を文字列に変換
str = CStr(cellValue)

Debug.Print str

End Sub

2. ユーザー入力を文字列として扱う

ユーザーからの入力を文字列に変換する方法です。

Sub GetUserInputAsString()

Dim userInput As Variant
Dim str As String

' ユーザーからの入力を取得
userInput = InputBox("入力してください:")

' 入力を文字列に変換
str = CStr(userInput)

Debug.Print str

End Sub

3. 配列の要素を文字列に変換

配列の要素を文字列に変換する方法です。

Sub ConvertArrayElementsToString()

Dim arr(1 To 3) As Variant
Dim i As Integer
Dim str As String

' 配列に数値を代入
arr(1) = 100
arr(2) = 200
arr(3) = 300

' 配列の要素を文字列に変換
For i = 1 To 3

str = CStr(arr(i))
Debug.Print str

Next i

End Sub

CStr関数の使用上の注意点

  • CStr関数は、基本的にどのようなデータ型も文字列に変換できますが、変換後の形式は元のデータ型や地域設定に依存します。
    日付の変換結果は、システムの日付形式に依存します。特定の形式で日付を表示したい場合は、Format関数を使用することをお勧めします。

【VBA】文字列に変換するFormat関数

まとめ

CStr関数は、Excel VBAで値を文字列に変換するための便利なツールです。数値、日付、論理値など、さまざまなデータ型を簡単に文字列に変換できるため、データの操作や表示形式の調整に役立ちます。

-VBAで自動化, VBA一覧, 変換・データ型, 配列・データ操作