VBA注意事项
以下是项目过程中遇到的坑,可能有些说明的部分不一定严谨,仅供参考
1、最好保存成 [*.xlsm]文件
2、注意 VBA 的参数类型,使用的参数如果未声明直接使用的话会出现类型不匹配的错误
3、代码写完后,可以通过 调试 -> 编译 VBA Project 按钮来检查代码中是否存在一些比较低级的错误
4、只有过程(Sub)可以作为程序入口来调试,Sub 和 Function 均可以使用入参,但是 Sub 不可以有直接返回值,Function 可以存在返回值
5、VBA 的异常处理,具体如下
Private Sub Test() On Error GoTo errHandle exit sub errHandle: MsgBox "Error!" & Err.Description End Sub
6、在 VBA 中调用加载项时,必须要通过引用追加,否则,通过其他程序来运行 Excel 里面的宏的时候,加载项可能并不会被加载,进而出现公式错误等提示。
7、VBA 使用 Application.OnTime 方法可以设定一个过程在将来的时间运行,但是存在一个问题是,这个 Application 是 Excel 软件的 Application,如果同时打开两个 Excel 文件,宏里面也有同名的过程,在等待时关闭任意一个 Excel ,这个时候 Application 就会错乱,然后不停地执行定时的过程
8、VBA 中等待计算完成,可以使用 DoEvents。如果使用 Sleep,实际在等待过程中并没有执行计算。