投稿者 魔界の仮面弁士  (社会人) 投稿日時 2010/1/13 04:12:51
> オーバーフローになってできません。

実際に動かしてはいませんが、元のコードをざっと眺めてみると、
Tick イベントで、恐らくこういう動きをしているのだと思います。

1. i が 0 の状態でループ開始(10未満なので処理される)
2.   keikatime を 0 → 1 に増加
3.   nokoritime に 3 - keikatime すなわち 2 をセット
4.   nokoritime は 0 ではないので、If 文の中身は処理されない
   (音もしないし、変数 i の値も変化しない)

5. i の値が 0 のまま、再度ループ処理を続行
6.   keikatime を 1 → 2 に増加
7.   nokoritime に 3 - keikatime すなわち 1 をセット
8.   nokoritime は 0 ではないので、If 文の中身は処理されない
   (音もしないし、変数 i の値も変化しない)

9. i の値が 0 のまま、再々度ループ処理を続行


これを延々と繰り返すうちに、変数 keikatime の値が Integer の管理範囲外の値に
なってしまい、桁溢れ(オーバーフロー)となってしまうのでしょう。


> 3秒毎にビープ音をだすプログラムを作りたいのですが、

こういうことかな?

Sub Timer1_Tick(……
  Beep()
End Sub

'開始ボタン 
Sub Button1_Click(……
  Button1.Enabled = False
  Timer1.Interval = 3000
  Tiemr1.Start()
  Button2.Enabled = True
End Sub

'停止ボタン 
Sub Button2_Click(……
  Button2.Enabled = False
  Timer1.Stop()
  Button1.Enabled = True
End Sub