関数・メソッド

文字列を長整数型データ(数値)に変換する【CLng関数】【ExcelVBA】

構文

CLng(Expression)  As Long

Expression・・・ 整数型に変換したい数値
戻り値 ・・・・・Long型(整数型)
Expressionに指定した数値をLong型に変換します。
(Long型にならないデータは実行時エラーとなります)

CLng関数のサンプルコード

Public Sub sample_CLng()

    '数値が文字列データで取得した際は、Long型へ変換される
    MsgBox CLng("10")   '→10(Long型)
    MsgBox CLng("10") '→10(Long型)
    
    
    '■小数点は銀行型まるめとなる(小数点が5の場合、一番近い偶数になる)
    MsgBox CLng("2.5") '→2
    MsgBox CLng("3.5") '→4

    MsgBox CLng("2.5") '→2
    MsgBox CLng("3.5") '→4

    '■構文エラー
    'MsgBox CLng()
    '■実行時エラー 13 型が一致しません
    MsgBox CLng("aaa")
    MsgBox CLng("十")
    MsgBox CLng("百")

End Sub

注意点

  • Webスクレイピングや他システムからデータを取得する時、データ型は文字列型(String型)で取得する方がエラーが少なくなるでしょう。但し、Long型ではないと計算処理が面倒なため、変換かけるときに使用します。
  • 数値かどうか判断する場合はIsNumeric関数で数値かどうか調べてから、CLng関数を使用しましょう。
  • 銀行型丸め処理(小数点が5の場合一番近い偶数にする)の為、通常の四捨五入で求めたい場合はIsNumeric関数で数値かどうか判断し、WorkSheet関数のRound関数を使用します。

関連記事

 

コメント

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