zoukankan      html  css  js  c++  java
  • 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.对象集合问题

  • 相关阅读:
    ssh 使用密钥文件
    VS2015企业版,社区版,专业版详细对比
    Redis 与 数据库处理数据的两种模式(转)
    工业级物联网项目架构设计思想(转)
    C# and Redis,安装作为服务
    C# CRC32
    c++,C# 转换
    app配置智能硬件的解决方案
    C# 与C++的数据转换
    C++ 对数组sizeof 和对数组元素sizeof
  • 原文地址:https://www.cnblogs.com/nextseven/p/10529999.html
Copyright © 2011-2022 走看看