|
指定した秒数を過ぎると、自動的に閉じるメッセージボックス(PopUp)を使う、
という手があります。↓のプログラムを、空白シートを開いて実行してみて下さい。
メッセージが表示されている間(3秒ですが正確ではない)に「いいえ」のボタンを
押すと、最後の処理(E1:E30000に値を入力)が終わったあと、ループを抜けて
終了します。「はい」のボタンを押すか3秒経過するまで何もせずにいると、
処理が継続します。
Sub Test_Exit_Loop()
Dim WshShell As Object
Dim Ans As Integer, i As Integer
Dim YNflg As Boolean
Set WshShell = CreateObject("WScript.Shell")
Do
Range("A:E").ClearContents
For i = 1 To 30000
Cells(i, 1).Value = i
Next i
Ans = WshShell.Popup("処理を継続しますか", 3, "", 36)
If Ans = 7 Then YNflg = True
For i = 1 To 30000
Cells(i, 3).Value = i
Next i
If Not YNflg Then
Ans = WshShell.Popup("処理を継続しますか", 3, "", 36)
If Ans = 7 Then YNflg = True
End If
For i = 1 To 30000
Cells(i, 5).Value = i
Next i
If Not YNflg Then
Ans = WshShell.Popup("処理を継続しますか", 3, "", 36)
If Ans = 7 Then YNflg = True
End If
Loop Until YNflg
Set WshShell = Nothing: MsgBox "終了します", 64
End Sub
|
|