ループの後(その1)

Integer は、ヘルプの「整数型 (Integer)」のトピックに

 整数型 (Integer) の変数は、16 ビット (2 バイト) の変数で、
 -32,768 〜 32,767 の範囲の値をとります。

と書いてあるとおり、最大値は 32767 です。
# Longで話をしてもいいけど、桁が多くてめんどーなので。
 
今回は、こんなマクロを用意しました。

Sub Macro1()
  Dim i As Integer

  For i = 32765 To 32767
    Debug.Print i
  Next i
End Sub

これが何か? と思った方は、まぁ実行してみてください。
 
何故エラーになるのか分からないなら、

Sub Macro1R()
  Dim i As Integer

  For i = 32765 To 32766
    Debug.Print i
  Next i
  Debug.Print i, "ループ後"
End Sub

を実行すれば分かります。
ループを抜けた後のことまで、考えなきゃダメよってことです。
 
※.Excel World の 2007年3月29日 01:31 の日記をコピーしています。
http://excel.sns.fc2.com/excel/