手口は幾つか考えられますが、割と安直な手で。
もうちょっと具体的に、5分間「実行」ボタンをクリックしなかったら終了する:
例えばSheet1にCommandButton1、2で実行ボタン・終了ボタンが用意されているとして
シートモジュール:
dim TargetTime as date
private sub CommandButton1_Click()
on error resume next
application.ontime targettime, "Sheet1.macro1",, false
targettime = now + timeserial(0,5,0)
application.ontime targettime, "Sheet1.macro1"
msgbox "Button Click"
end sub
private sub CommandButton2_Click()
msgbox "QUIT BUTTON"
end sub
sub macro1()
msgbox "left 5 min"
CommandButton2_Click
end sub