2007年12月06日

第11回オーバーフロー

第7回で作成した繰り返し処理に話を戻します。

この処理で複数のデータを処理できる様になりました。

ただし、限りはあります。

32766件までなら正常に処理できますが、
32767件以上では異常終了してしまいます。

gyouは整数型の変数で-32,768 〜 32,767の値を
格納する事ができます。

32767件目の合格か不合格を設定する処理は行えますが、
その後、gyouを1加算して32768を代入しようとすると、
オーバーフローしてしまいます。

実際に実行してみれば、"オーバーフローしました"
というエラーメッセージが出力されます。

デバッグをクリックすれば、ソースコード上で
エラーが起きた場所が黄色くなっているのを
確認できます。

メニューバーから[実行]-[リセット]で処理を
終了させて下さい。

32767件以上のデータを処理することは絶対にありえない
場合は特に対策を考える必要はありません。

32767件以上のデータを処理する可能性ががある場合は、
gyouを整数型から長整数型に変更して下さい。

長整数型は-2,147,483,648 〜 2,147,483,647 の値を
格納する事ができます。

エクセル2003の最大行数は、65536行なので、
余裕でカバーできます。

デメリットとしては、
整数型はメモリーを2バイト使うのに対し、
長整数型は4バイト使う事です。

状況に応じて使い分けて下さい。

gyouを整数型から長整数型に変更するには、
Dim gyou As Integer を
Dim gyou As Long に変更するだけです。

ではまた・・・
posted by ぷろぐらまー at 07:58| Comment(0) | TrackBack(0) | 入門偏 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/71202686
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
Google
 
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。