Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


30580 / 76738 ←次へ | 前へ→

【51423】Re:オーバーフローについて
回答  SS  - 07/9/16(日) 20:05 -

引用なし
パスワード
   ▼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
0 hits

【51422】オーバーフローについて Midori 07/9/16(日) 19:37 質問
【51423】Re:オーバーフローについて SS 07/9/16(日) 20:05 回答
【51424】Re:オーバーフローについて かみちゃん 07/9/16(日) 20:36 発言
【51426】Re:オーバーフローについて Midori 07/9/16(日) 20:49 お礼
【51425】Re:オーバーフローについて Midori 07/9/16(日) 20:47 お礼

30580 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free