概要

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での型変換やデータ処理の中で頻繁に使用されるため、効果的に使いこなしましょう。