2016-11-08 118 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

我試過這種方法,但由於某種原因,它似乎沒有工作(因此我更復雜,但現在刪除的答案)。我只是試了一遍,它確實有效。我原來的測試中肯定有某種錯字。 –

相關問題