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.对象集合问题

原文地址:https://www.cnblogs.com/nextseven/p/10529999.html