我有一個excel工作簿。不執行工作表計算事件工作簿打開
在其中一個工作表中,我使用了Worksheet_calculate事件。這工作正常。但是,首次打開工作簿時,我不希望調用MyFunction。做這件事最好的是什麼?
我到目前爲止唯一的想法是以下(我不喜歡這個雖然)。在工作簿打開方法中在其中一個工作表中放入一個時間戳,然後在我的worksheet_calculate中添加一個if語句,並且如果當前時間比時間戳(在工作簿打開事件上創建的時間戳)超出1分鐘,請運行代碼,否則,請不要運行代碼「T。
想一想還有更好的辦法嗎?
Private Sub Worksheet_Calculate()
MyFunction()
End Sub
更新
我不想打開工作簿時,我的代碼來執行的原因是因爲有需要一點時間來開始執行這樣的一些單元格的值是一些彭博公式#NA。
這會導致類型不匹配錯誤 - 記錄發生的任何錯誤並自動發送電子郵件。所以每次打開工作簿時有一個「錯誤」作爲彭博公式還沒有更新馬上
也許會對開宣佈公共布爾,即在Workbook_Open方法的末尾設置爲true。只有在事情真的發生時才讓你的事情發生。它可能會阻止第一次運行。 –
如果您的工作簿在打開狀態下計算,則會在任何事件運行之前發生,包括「Open」事件。你爲什麼不想讓代碼首先運行 - 它有什麼作用? – Rory