Excel VBA質問箱 IV

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

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


48588 / 76735 ←次へ | 前へ→

【33082】Re:0.5秒
回答  だるま WEB  - 06/1/2(月) 9:08 -

引用なし
パスワード
   ▼よっちゃん さん:
>Application.Wait Time + TimeValue("00:00:01")
>これは1秒後ですが、
いいえ、正確には1秒以内です。^d^
下記で確認できます。

Sub test()
  Dim T As Single
  T = Timer
  Application.Wait Time + TimeValue("00:00:01")
  Debug.Print Timer - T
End Sub

>0.5秒後とか0.1秒後とか1秒以下後にするにはどう書けばいいのですか?
簡単にはTimerを利用してループして待つ方法があります。
ただし、Timerの場合夜中の0時をまたぐと0に戻ってしまうのでそのような時は
使えません。

Sub test2()
  Dim T As Single
  T = Timer
  Sleep 0.5
  Debug.Print Timer - T
End Sub

Private Sub Sleep(Optional T As Single = 1)
  'T秒間待つ
  Dim T1 As Single
  T1 = Timer + T
  Do While Timer < T1
    DoEvents
  Loop
End Sub
0 hits

【33079】0.5秒 よっちゃん 06/1/2(月) 4:36 質問
【33082】Re:0.5秒 だるま 06/1/2(月) 9:08 回答
【33084】Re:0.5秒 よろずや 06/1/2(月) 12:10 発言
【33092】Re:0.5秒 Kein 06/1/2(月) 15:24 回答
【33120】Re:0.5秒 ichinose 06/1/3(火) 12:19 発言

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