関数・メソッド

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

構文

CInt(Expression)  As Integer

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

CLng関数のサンプルコード


Public Sub sample_CInt()

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

    Debug.Print CInt("2.5") '→2
    Debug.Print CInt("3.5") '→4
    
    '■Integer型の範囲(-32,768~32,767の整数)を超えたら実行時エラー '6':オーバーフローしました。
    Debug.Print CInt("50000")

    '■構文エラー
    'debug.print Cint()
    '■実行時エラー 13 型が一致しません
    Debug.Print CInt("aaa")
    Debug.Print CInt("十")
    Debug.Print CInt("百")

End Sub

注意点

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

関連記事

 

コメント

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