2016-06-15 5 views
2

Я хотел бы использовать метод Application.ontime для вызова события button_click в моей форме Excel.Excel VBA: Как использовать Application.ontime для вызова события click?

, когда я использую этот код, который я могу назвать саб, расположенный в моем Module1:

Application.OnTime Now + TimeValue("00:00:15"), "test" 

Однако, если я использую этот код он не звонит мой Private Sub CommandButton1_Click (он ничего не делает):

Application.OnTime Now + TimeValue("00:00:15"), "CommandButton1_Click" 

Как я могу позвонить, нажмите на кнопку «моей CommandButton1»

Спасибо за вашу помощь!

ответ

1

Вам необходимо предоставить необходимую функциональность. В стандартный модуль введите, например:

Public Sub ReallyVisibleMacro() 
    MsgBox "Hello World" 
End Sub 

Этот подпрограмма выполняет всю настоящую работу. Тогда ваш код кнопки будет:

Private Sub CommandButton1_Click() 
    Call ReallyVisibleMacro 
End Sub 

и в коде OnTime:

Application.OnTime Now + TimeValue("00:00:15"), "ReallyVisibleMacro" 
+0

: Спасибо за ответ. Я подумал о чем-то подобном, но я пытался избежать передачи кода из моего Sub CommandButton1_Click в стандартный модуль. Когда я делаю это, у меня появляется ошибка 91, которую я не получаю, когда мой код не находится в модуле. Я надеялся, что могу просто вызвать мой CommanButton1_Click sub ... – sims

+0

@sims Возможно, вам, возможно, потребуется изменить код кнопки, чтобы избежать использования конкретной кнопки, например 'Me' –

+0

. Спасибо, Гэри. Я сделал исправление, чтобы избавиться от Меня, но я все еще получаю сообщение об ошибке 91. Однако ваш ответ работает. Спасибо за вашу помощь. – sims

Смежные вопросы