Excel VBA-Application.OnTime未运行

时间:2018-08-06 12:19:41

标签: excel-vba

我希望获得一些帮助,以了解为什么功能 doSomething 没有运行。

计算模式为自动

Sub Test()
    check = 0

    Debug.Print "Timer_1: " & Now()

    Call runFromNow("doSomething", "00:00:05")
    Do While check = 0
        DoEvents
    Loop

    Debug.Print "Timer_2: " & Now()
End Sub

Sub runFromNow(myProcedure As String, Optional myTime As Variant = "00:00:15")
    If myProcedure <> "" Then
        Application.OnTime Now + TimeValue(myTime), myProcedure
        Debug.Print "runFromNow: Activated at " & Now + TimeValue(myTime)
    End If
End Sub

Sub doSomething()
    check = 1
End Sub

关于, 艾里奥·费尔南德斯(Elio Fernandes)

1 个答案:

答案 0 :(得分:3)

嘿,我有东西要给你。 您可以尝试通过声明一个公共变量来完成此操作。

我写了这个简短的测试来给你一个例子:

Public Check As Long

Sub Test()

    Call Test_Dam

    Debug.Print Check

End Sub

Sub Test_Dam()

    Check = 1

End Sub

您的Debug.print将为您提供所需的1;)

最诚挚的问候