2016-08-09 23 views
0

Ich habe eine Formularschaltfläche erstellt und ein Makro zugewiesen. Ich möchte, dass dieser Formularknopf alle 30 Sekunden gedrückt wird. Ist das über VBA-Code möglich?Drücken der Taste alle 30 Sekunden vba

+2

Blick auf Application.OnTime –

+0

Wenn die Schaltfläche klicken, jede Subroutinenaufrufe, würde ich das Sub-Programm Aufruf vorschlagen alle 30 secs.Further unter diesem Link http haben einen Blick zu verzögern: // Stackoverflow. com/questions/1544526/how-to-pause-für-spezifische-Menge-Zeit – Siva

+0

Ja ist es möglich 'Application.OnTime Now + TimeValue (" 00:00:30 ")," Ihre Subroutine "' –

Antwort

1

Versuchen mit folgendem Code

Sub mycode() 
    MsgBox ("Hello Shajee Rehman") 
    Application.OnTime Now() + TimeValue("00:00:30"), "mycode" 
End Sub 
2

Dies ist ein X-Y-Problem. Ihre Taste ruft eine Routine (Makro) auf, also rufen Sie dieses Makro direkt auf, anstatt die Taste alle 30 Sekunden drücken zu müssen.

Sie können hierfür Application.OnTime verwenden. Beispielcode:

Sub myMacro() 

Dim a as Integer 

a = dostuff() 
Application.OnTime Now() + TimeValue("00:00:30"), "myMacro" 'This will cause the sub "myMacro" to execute every 30 seconds, starting when you first call it anywhere 

End Sub