Application.OnTime无法改变时间

时间:2015-05-01 17:49:47

标签: excel-vba vba excel

我尝试在特定时间运行以下代码,代码第一次运行,之后当我更改时间时它不起作用,代码保存在ThisWorkbook

任何建议?

Private Sub workbook_open()
    'Run AlchemyTest_2 at 1:50 pm
    Application.OnTime ("1:50:00"), "AlchemyTest_2"
End Sub

2 个答案:

答案 0 :(得分:1)

由于您的代码包含在workbook_open函数中,因此只有在您第一次打开工作簿时才会运行。

如果您想运行该行代码,可以将其粘贴到即时窗口(Ctrl+G,如果它不可见)并按下输入。

即时窗口有两个目的。首先,它为您希望立即运行的代码提供了一个位置,以及该代码的输出(如果它返回任何内容)。其次,它是Debug.Print的输出位置。

你提到改变时间,这表明你试图让({1}}立即运行(几乎)。如果是这种情况,您可以将AlchemyTest_2粘贴到即时窗口并按Enter键,或将光标放在函数中并运行它(F5)。

答案 1 :(得分:-2)

提供的时间增量时间,它是绝对的。请尝试这样:

Private Sub workbook_open()
    'Run AlchemyTest_2 at 1:50 pm
    Application.OnTime Cdate(Clng(Now)) + TimeValue("13:50:00"), "AlchemyTest_2"
End Sub