2019ExcelVBA一些自己掉進過的坑


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.對象集合問題

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM