Long型の許容範囲なのに、実行時エラー6が発生する
データ型がLong型(-2,147,483,648~2,147,483,647の整数)で、宣言したにもかかわらず、
その数値で許容内のはずなのにエラーが出る場合があります。
———————————-
実行時エラー’6′ 「オーバーフローしました」
———————————-
Long型の許容範囲なのに、実行時エラー6が発生する原因
右辺のあり方によっては実行時エラー’6′ 「オーバーフローしました」が発生します。
Public Sub sample() Dim num As Long '実行時エラー'6' 「オーバーフローしました」が発生するケース '------------------------------------------ '■右辺の計算結果がInteger型と判断される num = 30000 * 2 '■Clngに入れる前の右辺の計算結果がInteger型と判断される num = CLng(30000 * 2) '------------------------------------------ '実行時エラー'6' 「オーバーフローしました」が発生しないケース '------------------------------------------ '■片方がLong型に変換しているため、Long型で判断する num = CLng(30000) * 2 '■変数がLong型のため、Long型で判断する Dim a As Long: a = 30000 num = a * 2 '------------------------------------------ End Sub
注意点
- 特にありません。
コメント