1、公式手動重算問題
為避免代碼執行過程中引發公式自動重算,拖慢運行速度,在代碼中設置了公式手動重算,並計划在代碼執行結束前恢復。如果在代碼執行過程中捕獲錯誤就直接退出,而沒有執行到恢復公式自動重算,應用程序一直處於公式手動重算狀態,造成很多麻煩。
Sub Test1()
Application.Calculation = xlCalculationManual '公式改為手動重算
On Error Resume Next
ThisWorkbook.Worksheets("工作表").Activate '工作簿內並沒有這個工作表,引發下標越界錯誤
If Err.Number <> 0 Then Exit Sub
''''''''''功能代碼''''''''''''''''''''
Application.Calculation = xlCalculationAutomatic '公式恢復為自動重算
End Sub
改進辦法捕獲錯誤之后使用改為goto 標簽 語句,直接跳轉到代碼末尾去執行恢復公式自動重算的語句工作簿
Sub Test2()
Application.Calculation = xlCalculationManual '公式改為手動重算
On Error GoTo ErrorExit '捕獲錯誤直接跳轉到末尾標簽處繼續執行
ThisWorkbook.Worksheets("工作表").Activate '工作簿內並沒有這個工作表,引發下標越界錯誤
''''''''''功能代碼''''''''''''''''''''
ErrorExit: '標簽
Application.Calculation = xlCalculationAutomatic '公式恢復為自動重算
End Sub
2.對象集合問題
