和風スパゲティのレシピ

日本語でコーディングするExcelVBA

値を整数値(Integer型)に変換する - CInt関数

文字列型になっている数値をInteger型(整数型)に変換する、
CInt関数の使い方を解説します

基本形

CInt(変換したい値)

実行例

CInt("123") ' = 123
CInt("50000") ' = 「オーバーフローしました」エラー
CInt("\1,000") ' = 1000
CInt("あいう") ' 「型が一致しません」エラー
CInt(123.45) ' = 123
CInt(True) ' = -1
CInt(#5/18/2025#) ' = 「オーバーフローしました」エラー

解説

CInt関数は、数値や文字列などをIntegert型(整数型)に変換する関数です。

実行例の通り、文字列の "123" を渡すと数値の123として返されます。


Integet型は「-32,768 ~ 32,767」の範囲のみを扱う整数型のため、
少しでも大きい数値が来るとオーバーフローを起こします。

よって日付のシリアル値変換もほとんどできません。


それ以外の仕様はすべてCLng関数(Long型への変換関数)と同じですので、
本関数はCLng関数の完全下位互換といってよく、使用することはないと思います。


整数値にIntegerを用いるメリットはありませんので、
整数を扱いたい場合はCLng関数を使用してください。



なお、小数を渡した場合はいわゆる銀行丸め(偶数丸め)が行われ、
0.5なら0、1.5なら2と、最も近い偶数に変換されます。


CLngも同じ仕様ですし、銀行丸めならそもそもRound関数がありますので、
二重の意味で知る必要がない仕様と思いますが、一応注意書きしておきます。