VBA実行中に処理を停止したい時の案。
停止検知時にメッセージボックスでも出せば、再開or終了とかもできそう。
UserForm作ってコマンドボタン2個、ラベル1個配置して以下を張り付け。
'--------------------------------------------------------------------------------
Dim bStop As Boolean 'フラグ
'処理開始
Private Sub CommandButton1_Click()
Dim i As Long
bStop = False 'フラグ初期化
'Me.CommandButton1.Enabled = False
'Me.CommandButton2.Enabled = True
'Me.CommandButton2.SetFocus
For i = 1 To 1000000000
Me.Label1.Caption = i
DoEvents
If bStop = True Then Exit For
Next
End Sub
'処理中止
Private Sub CommandButton2_Click()
bStop = True
'Me.CommandButton1.Enabled = True
'Me.CommandButton2.Enabled = False
'Me.CommandButton1.SetFocus
End Sub
'フォーム終了時にもフラグを立てる
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
bStop = True
End Sub