У меня есть макрос, где мне нужно что-то сделать в одном сабе, затем есть другие сабы для паузы -> делать то, что вам нужно, и ждать, пока кнопка нажата -> продолжить. Этот код:
Public Resume_Macro As Boolean
Public Sub Resume_Click
Resume_Macro = True
End Sub
Public Sub Pause_Macro
Call CreateButton
Resume_Macro = False
MsgBox "Click the button for continue."
While Not Resume_Macro
DoEvents
Wend
Resume_Macro = False
MsgBox "Macro will continue." 'You can put it in there if you want a message
End Sub
Public Sub CreateButton
Application.ScreenUpdating = False
ActiveSheet.Buttons.Add(1650, 20, 81, 36).Select
Selection.Characters.Text = "Continue"
Selection.Name = "Resume"
Selection.OnAction = "Resume_Click"
ActiveSheet.Shapes("Resume").Select
Range("A1").Select 'Put this in your code else the button will be selected!
Application.ScreenUpdating = True
End Sub
Все работает нормально, но когда макрос ожидает нажатия кнопки «Возобновить», и я открываю и закрываю какую-то другую книгу (.xlsx и которая ничего не делает с основной книгой), макрос автоматически останавливается.
Конечно, я мог бы жить с этим и не открывать другие рабочие книги, пока макрос приостановлен, но иногда мне просто нужно что-то проверить, и для меня это препятствие.
Спасибо за любой совет.