• ベストアンサー

excelVBA上での動作を遅延させたい。

電子回路の動作順序のシュミレーション図を作成しましたが、動作が一瞬に終了してしまい今一つ満足感がありません。動作(罫線の着色、セルの着色、図の着色、あるいは消去等)をするのに若干のタイムラグを置きたいのですが、「遅延」させる方法にはどのような方法がありますか、教えて頂けませんか。いろいろ調べましたがわかりません。 お願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.2

個人的にはSleepを使う事が多いかな。 待機中はExcelを操作する事も出来なくなってしまうので、Sleepを使うなら1秒以下の時間にした方が精神衛生上良いです。 Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Sub Sample()   Range("A1") = 0   For i = 1 To 10     Sleep 500 '500msec(0.5秒)待機     Range("A1") = i   Next i End Sub

diwk85
質問者

お礼

早速の回答をありがとうございます。 秒数設定で可能。 参考にさせていただきます。 今後ともよろしくお願いいたします。

その他の回答 (1)

回答No.1

Public Sub Pause(ByVal PauseTime As Single)   Dim Finish As Single   Finish = Timer + PauseTime   Do     DoEvents   Loop Until Timer > Finish End Sub Pause 0.1 Pause 2 プログラムの実行を止めたい箇所にPause関数で停止秒数を指示することで目的を達成できる可能性があるかも知れません。

diwk85
質問者

お礼

早速のご回答ありがとうございます。 pause関数、初めて見ました。 参考にさせていただきます。 ありがとうございました。 今後ともよろしくお願いいたします。

関連するQ&A