| 
    
     |  | ▼Midori さん: 
 こんばんは、先ずIntegerを調べると以下のような記述があります。
 整数型 (Integer) の変数は、16 ビット (2 バイト) の変数で、-32,768 〜 32,767 の範囲の値をとります。整数型の型宣言文字はパーセント記号 (%) です。
 
 これを踏まえて
 Sub test()
 Dim i As Integer
 Dim k As Long '←ここを変更Integer
 Dim LstR As Integer
 LstR = Range("E65536").End(xlUp).Row
 MsgBox LstR
 For i = 6 To LstR
 k = Cells(i, 5).Value - Cells(6, 7).Value '←この行でエラー発生
 MsgBox k
 
 Next
 End Sub
 を試してみてください。
 
 >「実行時エラー6、オーバーフローしました。」のアラームが
 >7行目のコードで出ます。このアラームを除く方法を教えてください。
 >
 >Private Sub Workbook_Open()
 > Dim i As Integer
 >  Dim k As Integer
 >  Dim LstR As Integer
 >   LstR = Range("E65536").End(xlUp).Row
 >   For i = 6 To LstR
 >   k = Cells(i, 5).Value - Cells(6, 7).Value'←この行でエラー発生
 >    Select Case k
 >     Case Is < 1
 >      Cells(i, 5).Font.ColorIndex = 5
 >     Case Is < 30
 >      Cells(i, 5).Font.ColorIndex = 3
 >     Case Else
 >      Cells(i, 5).Font.ColorIndex = 1
 >    End Select
 >   Next
 >End Sub
 >
 >表は次の通りです
 >D列           H列
 >6  2007/9/16     2007/9/16
 >7  2007/10/2
 >8  2007/9/15
 >9  2007/10/26
 >10  2007/10/15
 
 |  |