2016-11-08 119 views
-2

我想在单元格中的时间与当前pc时间匹配时自动运行一段vba代码。如果单元格值=当前时间,VBA会自动在Excel中运行宏?

单元格A2是上薄片1,小区A2含有的19:00例如

这里的时间值是我的代码:

此工作簿:

Private Sub Workbook_Open() 

    Application.OnTime TimeValue(ThisWorkbook.Sheets(1).Range("A2").Value), "MyMacro" 

End Sub 

模块1:

Sub MyMacro() 
MsgBox "Hey" 
End Sub 

由于某种原因,这不起作用,请有人可以告诉我我要去哪里错了吗?由于

+0

什么是ThisWorkbook.Sheets(1).Range(“A2 “).Value –

+0

@Nathan_Sav请参阅更新的问题。单元格A2包含19:00作为时间格式 –

+0

认为您还需要添加秒,也许它需要的是文本值而不是值,因为这会是一个数字? –

回答

1

与格式设置为显示作为时间的时间序列的小区已经OnTime正确的格式,所以只需使用

Application.OnTime ThisWorkbook.Sheets(1).Range("A2").Value, "MyMacro" 
+0

我试过这种方法,但由于某种原因,它似乎没有工作(因此我更复杂,但现在删除的答案)。我只是试了一遍,它确实有效。我原来的测试中肯定有某种错字。 –

相关问题