|
VBA初心者です。
Excel2007で下のプログラムを作ってみました。
このプログラムの動作中に任意のセルに書き込みを行うと
プログラムの途中でカウントが停止します。
セルへのダブルクリックでも同様の結果になります。
どうもDoEventsからプログラムに制御が戻ってこないようです。
プログラムには排他処理を入れていませんが、多重起動はして
いませんし、他のプログラムも存在しません。
カウントアップしながらキー入力できれば希望の動作となる
のですがDoEventsの使用方法を間違えているのでしょうか。
その場合どのような関数を使えば良いのか教えてください。
Option Explicit
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Public Sub test()
Worksheets("Sheet1").Cells(1, 1).Value = 0
While Worksheets("Sheet1").Cells(1, 1).Value < 60
Worksheets("Sheet1").Cells(1, 1).Value = _
Worksheets("Sheet1").Cells(1, 1).Value + 1
DoEvents
Sleep (100)
Wend
End Sub
|
|