В вашем примере выглядит так, как будто у вас есть имя макроса, и если это так, его просто можно просто вызвать.См. Ниже
Sub Start()
Range("A4").Select
Call MessageBox
End Sub
Sub MessageBox()
MsgBox "Hi" & vbCrLf & "Professor", vbInformation, "Greetings"
End Sub
Однако я предполагаю, что это не поможет вам, потому что то, что вы спрашиваете, не имеет смысла.Я собираюсь догадаться, что, возможно, под MsgBox
вы на самом деле имеете в виду Form
или Command Button
.Они похожи, но они явно отличаются.
A MsgBox
- это скорее предупреждение для пользователя с возможностью сбора небольшого количества информации обратно (т. Е. Да / нет / ок / отмена и т. Д.).Нажатие на MsgBox
никогда не запустит другой макрос напрямую.ОТВЕТ на MsgBox
(т. Е. Да / нет) МОЖЕТ определить, выполняется ли другой макрос на основе оператора if, или следующая строка кода просто предназначена для выполнения другого макроса.
Если выесли макрос выполняется отчетливо в зависимости от щелчка, кнопка, скорее всего, является формой или активной командой X Button.Вам нужно выяснить, какой макрос выполняет этот объект, а затем вам просто нужно включить это в ваш код.Google " как посмотреть, какой макрос запускает кнопка формы в VBA " или, если это активная кнопка X, щелкните ее правой кнопкой мыши и нажмите "Просмотреть код".Оба эти подхода должны привести вас к названию макроса, например CommandButton1_Click
.
К сожалению, вам, возможно, придется придумать что-то еще, как будто это лист Commandbutton1_Click, вам, возможно, придется сделать его публичным.Надеюсь, вы можете вставить вызов этого кода в ваш текущий макрос.
Надеюсь, это поможет.