看起來,當從單元格公式(即「用戶定義的函數」或UDF)調用VBA代碼時,通常的VBA Break On Error doesn'工作。Excel:在錯誤時中斷不起作用於用戶定義的函數
我能找到這種行爲記錄的唯一的地方是在一篇文章中幾行稱爲"Developing User-Defined Functions for Excel 2007 and Excel Services":
錯誤處理返回#VALUE錯誤。由UDF代碼拋出的所有異常都以#VALUE錯誤的形式返回到Excel工作表中。
即使您設置錯誤捕獲到「斷開所有錯誤」和單步執行代碼**,你永遠不會看到在VBA運行時錯誤對話框 - Excel中只是靜靜地放棄執行不告訴你了什麼錯誤。當然,這使得調試比需要的更困難。
有一些潛在的解決方法,涉及On Error
,但我寧願不亂拋我的代碼只是爲了找出錯誤發生的地方。
是否有一些Excel/VBA選項我忽略了哪些會使Break On Error正常工作?我使用Excel 2003中
**只有這樣,才能進入調試器從細胞叫時,設置一個斷點,或者使用Stop
聲明