概要
CLng
関数は、Excel VBAで数値や数値として解釈可能な文字列を長整数型(Long
)に変換するための関数です。CLng
関数を使うことで、データを整数に変換し、小数点以下を切り捨てて処理することができます。特に大きな数値を扱う際や、小数部分を無視して計算したい場合に非常に便利です。
構文
CLng(式)
パラメータ
- 式
変換したい数値や数値として解釈可能な文字列を指定します。式が小数を含む場合、小数点以下は四捨五入されます。
戻り値
指定された値を長整数型(Long
)に変換した結果を返します。
使用例
基本的な使用例 - 数値を長整数に変換
Sub ExampleCLng()
Dim num As Double
Dim longNum As Long
num = 1234.5678
longNum = CLng(num) ' 小数点以下は四捨五入される
MsgBox longNum ' 結果: 1235
End Sub
この例では、CLng
関数を使ってDouble
型の数値をLong
型に変換し、小数点以下が四捨五入されていることがわかります。
文字列を長整数に変換する
Sub ConvertStringToLong()
Dim strValue As String
Dim longValue As Long
strValue = "98765.4321"
longValue = CLng(strValue) ' 小数点以下は四捨五入される
MsgBox longValue ' 結果: 98765
End Sub
この例では、数値として解釈可能な文字列をCLng
関数で長整数に変換しています。CLng
関数は文字列も適切に変換でき、小数部分を四捨五入します。
セルの値を長整数に変換
Sub ConvertCellValueToLong()
Dim cellValue As Long
cellValue = CLng(Range("A1").Value) ' セルA1の値を長整数に変換
MsgBox "セルA1の値の長整数は " & cellValue & " です。"
End Sub
この例では、セルA1
の値をCLng
関数で変換しています。Excelのシート上のデータを整数として扱いたいときに便利です。
使用場面と注意点
-
データの整数化
数値を整数として処理したい場合にCLng
関数を使用します。小数部分が不要な計算や比較などに便利です。 -
大きな数値の処理
CLng
関数は、Integer
型よりも広い範囲を扱えるため、大きな整数値の処理に適しています。 -
注意点
CLng
関数は小数点以下を四捨五入するため、切り捨てや切り上げが必要な場合には適切な関数を選択する必要があります。また、変換できない文字列(数値に解釈できないもの)を指定するとエラーが発生します。
応用例 - 四捨五入された数値を表示
Sub RoundAndConvertToLong()
Dim originalValue As Double
Dim roundedValue As Long
originalValue = 123.456
roundedValue = CLng(originalValue) ' 四捨五入されて123に
MsgBox "元の値: " & originalValue & vbCrLf & "変換後: " & roundedValue
End Sub
この例では、CLng
関数が値を四捨五入して整数に変換する動作を確認できます。小数点以下をどのように処理するかを明示する必要がある場面で役立ちます。
まとめ
CLng
関数は、数値や文字列を長整数型に変換し、小数点以下を四捨五入する便利な関数です。特に、大きな数値や小数部分を無視して計算したい場合に活用できます。VBAでの型変換やデータ処理の中で頻繁に使用されるため、効果的に使いこなしましょう。