忍者ブログ
  • 2025.05《
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 》 2025.07
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

2025/06/20 02:26 |
Timer
Excelマクロのモジュールをそのまま貼り付け。
(会社とか家とか出先とかで見るため)
「Option Compare Binary」以下を標準モジュールに貼り付ければ、Myマクロ辞典に!
貼り付け後、「■Sub 」を「Sub 」に置き換えよう!
※公開している以上、利用は自由ですが、自己責任で。


Option Compare Binary
Option Explicit

Private myTime As Date
'''Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) 'Sleep API関数用
'
'タイマー、アラート

■Sub タイマーその1()
'【OnTimeメゾット】
'20秒間待機した後、myProcを実行。
'待機中、エクセルは固まらない。

myTime = Now + TimeSerial(0, 0, 10)
Application.OnTime myTime, "myProc"
'Application.OnTime Now() + TimeSerial(2, 45, 0), "myProc" ‥×?

End Sub

■Sub タイマーその2()
'【OnTimeメゾット】
'指定した時刻にマクロを実行する

Application.OnTime EarliestTime:=TimeValue("11:50:00"), Procedure:="myProc"

End Sub

■Sub myProc()
'【OnTimeメゾット】

MsgBox "お時間でごんす。"

End Sub

■Sub Cancel()
'【OnTimeメゾット】
'タイマーその1を実行する前にこのマクロを作っておき、
'タイマーその1実行後、キャンセルしたい時に実行すると、止めることができる。

Application.OnTime myTime, "myProc", , False
MsgBox "キャンセルでごんす。"

End Sub

■Sub タイマーその3()
'【Waitメゾット】
'これを実行すると、その間エクセルは固まります。(例は2分45秒間停止)
'待機中何もさせたくないときにいいかも。

Application.Wait Time:=Now + TimeValue("02:45:00")

End Sub

■Sub Sleepで処理を一時中断()

'指定した時間だけ処理を停止する
'引数はミリ秒単位だから「Sleep 1」で0.001秒停止します。

'宣言が必要(いずれか一方)
'Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) 'Sleep API関数用
'Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) 'Sleep API関数用

'【使用例】
Dim i As Long
For i = 1 To 10
Cells(i, 4).Value = i
Sleep 100 '←★
Next

End Sub

■Sub DoEvents関数()

'otherモジュール参照

End Sub
PR
2015/04/14 21:33 | Excelマクロ(VBA) | コメント(0)
<<Sheet | ホーム | Window>>
コメント
コメントの投稿















前ページ | ホーム | 次ページ