Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 带Application.OnTime的宏仅在工作表打开时起作用_Excel_Vba - Fatal编程技术网

Excel 带Application.OnTime的宏仅在工作表打开时起作用

Excel 带Application.OnTime的宏仅在工作表打开时起作用,excel,vba,Excel,Vba,我有一个工作表,需要每天上午10点运行宏。该代码仅在打开特定工作表时有效,但在打开其他工作表时无效。谁能帮帮我吗 模块中的代码: Sub SendC() Application.OnTime TimeValue("10:00:00"), "SendC" **Rest of my code ** End Sub 此工作簿中的代码: Private Sub Workbook_Open() Application.OnTime TimeValue("10:00:00"), "

我有一个工作表,需要每天上午10点运行宏。该代码仅在打开特定工作表时有效,但在打开其他工作表时无效。谁能帮帮我吗

模块中的代码:

Sub SendC()

  Application.OnTime TimeValue("10:00:00"), "SendC"

  **Rest of my code **

End Sub
此工作簿中的代码:

Private Sub Workbook_Open()

    Application.OnTime TimeValue("10:00:00"), "SendC"

End Sub

VBA代码嵌入在宿主文档中—对于Excel,是启用宏的工作簿文件

通过关闭包含代码的工作簿,可以终止该工作簿中运行的任何VBA代码

通过制作Excel加载项,可以使VBA代码在应用程序级别运行:代码仍然嵌入在宿主文档中,但宿主文档将与Excel一起加载,并且只要Excel实例正在运行,该代码就会一直保持加载状态


将VBA项目另存为Excel加载项,然后关闭所有内容,再次打开Excel并加载加载项:
Workbook\u Open
将在加载加载项时运行一次,然后只要Excel保持运行,您的
SendC
宏将在上午10点调用。

什么是“工作表打开”?就像选项卡/工作表处于活动状态与同一工作簿中的不同工作表一样?我的意思是,当工作表确实处于活动状态时-如果我单击另一个工作表选项卡并因此打开另一个工作表,代码不会在上午10点运行。愚蠢的问题,但我如何将VBA代码保存为Excel加载项?@VBANewbee您不保存VBA代码,保存包含它的工作簿。因此,请另存为,然后将文件类型更改为“Microsoft Excel加载项”。再次感谢您的帮助。我已将工作簿另存为加载项。重新打开Excel并加载add inn时,不会发生任何事情。我还加载了.xlsm文件和加载项,但没有任何更改。请确保加载项正确。