返回列表 上一主題 發帖

[發問] 依次記錄各股殖利率

回復 15# bhsm
個人經驗供參考:
可以檢查你的另外檔案的工作表/活頁簿用到的Event
常見堆疊空間不足的原因"之一"
可能是Event中某些程式碼行為又觸發了其他Event,然後一直不斷循環觸發...

如果是這原因,可在Event事件中適當設定Application.EnableEvents
暫時避免觸發其他event,最後再還原。
表達不清、題意不明確、沒附檔案格式、沒有討論問題的態度~~~~~~以上愛莫能助。

TOP

回復 17# bhsm
可以改這樣測測看
  1. Private Sub Worksheet_Calculate()
  2.     Application.EnableEvents = False
  3.     On Error GoTo EXIT_THIS
  4.    
  5.     If
  6.    
  7.     ........
  8.    
  9.     End If

  10. EXIT_THIS:
  11.     If Err.Number > 0 Then
  12.         MsgBox Err.Description
  13.         Stop
  14.         Resume  'F8 goto error line
  15.     End If
  16.     Application.EnableEvents = True
  17. End Sub
複製代碼
表達不清、題意不明確、沒附檔案格式、沒有討論問題的態度~~~~~~以上愛莫能助。

TOP

回復 19# bhsm
我沒2003無法測,當然理論上要一致
但2003到2010 , Excel背後Calculate的機制也改變很多了
有這種不同也不無可能。
畢竟哪些程式碼會觸發哪些event , 這部分在Excel說明中我也沒看到...

總之我是覺得Event中代碼前後,用Application.EnableEvents控制開關,
應該是不會錯的好習慣啦(雖然我也常忘記)
表達不清、題意不明確、沒附檔案格式、沒有討論問題的態度~~~~~~以上愛莫能助。

TOP

        靜思自在 : 好事要提得起,是非要放得下,成就別人即是成就自己。
返回列表 上一主題