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

【VBA】CDbl関数:値を倍精度浮動小数点数に変換する

Excel VBAは、データの型を変換するためのさまざまな関数を提供しています。CDbl関数は値を倍精度浮動小数点数に変換するための便利な関数です。CDbl関数の使い方とその応用について説明します。

CDbl関数とは

CDbl関数は、指定した値を倍精度浮動小数点数(Double型)に変換するための関数です。この関数を使用することで、文字列やその他のデータ型を数値として扱うことができます。

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

  • Expression
    倍精度浮動小数点数に変換したい値。

CDbl関数の基本的な使用例

1. 文字列を数値に変換

文字列を倍精度浮動小数点数に変換する基本的な例です。

Sub ConvertStringToDouble()

Dim str As String
Dim num As Double

str = "1234.56"
num = CDbl(str)

Debug.Print num ' 出力: 1234.56

End Sub

2. セルの値を数値に変換

セルの値を倍精度浮動小数点数に変換する例です。

Sub ConvertCellValueToDouble()

Dim cellValue As Variant
Dim num As Double

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

' 値を数値に変換
num = CDbl(cellValue)

Debug.Print num

End Sub

3. ユーザー入力を数値に変換

ユーザーからの入力を倍精度浮動小数点数に変換する例です。

Sub GetUserInputAsDouble()

Dim userInput As Variant
Dim num As Double

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

' 入力を数値に変換
num = CDbl(userInput)

Debug.Print num

End Sub

CDbl関数の応用例

1. 配列の要素を数値に変換

配列の要素を倍精度浮動小数点数に変換する方法です。

Sub ConvertArrayElementsToDouble()

Dim arr(1 To 3) As Variant
Dim i As Integer
Dim num As Double

' 配列に文字列を代入
arr(1) = "100.5"
arr(2) = "200.75"
arr(3) = "300.25"

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

num = CDbl(arr(i))
Debug.Print num

Next i

End Sub

2. 数式の結果を数値に変換

数式の結果を倍精度浮動小数点数に変換する方法です。

Sub ConvertFormulaResultToDouble()

Dim result As Variant
Dim num As Double

' セルA1に数式 =SUM(1, 2, 3) が入力されているとする
result = ThisWorkbook.Sheets("Sheet1").Range("A1").Value

' 数式の結果を数値に変換
num = CDbl(result)

Debug.Print num ' 出力: 6

End Sub

CDbl関数の使用上の注意点

  • CDbl関数は、数値に変換可能な文字列や値に対してのみ有効です。変換できない文字列や値に対して使用するとエラーが発生します。
  • ローカルの設定(小数点やカンマの扱い)に依存するため、入力データが適切にフォーマットされていることを確認する必要があります。

【エラーハンドリングの追加】
エラーハンドリングを追加することで、変換エラーを回避し、適切なメッセージを表示できます。

Sub SafeConvertToDouble()

Dim userInput As Variant
Dim num As Double

On Error GoTo ErrorHandler

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

' 入力を数値に変換
num = CDbl(userInput)

Debug.Print num

Exit Sub

ErrorHandler:

MsgBox "入力された値を数値に変換できませんでした。"

End Sub

まとめ

CDbl関数は、Excel VBAで値を倍精度浮動小数点数に変換するための便利なツールです。文字列やセルの値、ユーザー入力など、さまざまなデータ型を数値として扱うことができます。

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