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,实际在等待过程中并没有执行计算。
VBA注意事项的更多相关文章
- Ruby操作VBA的注意事项和技巧(2):宏里调用和控制窗体以及窗体上的控件、不同workbook之间的宏互相调用
4.宏里调用并控制窗体以及窗体上的各种控件 1 Sub Criterion_Check() 2 If Workbooks.count = 0 Then '如果当前没有打开的工作薄的话需要发出警告 3 ...
- Ruby操作VBA的注意事项和技巧(1):乱码、获取VBA活动和非活动窗口的名称与路径、文件路径的智能拼接与截取(写入日期)
1.VBA编辑器复制粘贴出来的代码乱码 解决方法:切换到中文输入模式再复制出来就行了 2.获取VBA活动和非活动窗口的名称与路径 Dim wbpath, filename As String ...
- VBA中数据库导出数据到Excel注意事项
Sub ReadDBData() On Error GoTo ErrorHand Dim dbHelper As New dbHelper Dim sqlSQL As String Dim rs As ...
- 在VBA中使用Windows API
VBA是一种强大的编程语言,可用于自定义Microsoft Office解决方案.通过使用VBA处理一个或多个Office应用程序对象模型,可以容易地修改Office应用程序的功能或者能够使两个或多个 ...
- Word 借助VBA一键实现插入交叉引用
最近写论文的时候,经常需要向上或向下插入题注的交叉引用,word 自带的界面往往需要操作多次,才能实现插入.而平时使用较多的只是交叉引用附近的题注,比如如图1.1所示,在图1.1中等,距离较远的引用则 ...
- VBA笔记
1.VBA数据类型 数据类型 存储空间大小 范围 Byte 1个字节 0-255 Boolean 2个字节 true或false Integer 2个字节 -32768-32767 Long 4个字节 ...
- jQuery UI resizable使用注意事项、实时等比例拉伸及你不知道的技巧
这篇文章总结的是我在使用resizable插件的过程中,遇到的问题及变通应用的奇思妙想. 一.resizable使用注意事项 以下是我在jsfiddle上写的测试demo:http://jsfiddl ...
- Windows Server 2012 NIC Teaming介绍及注意事项
Windows Server 2012 NIC Teaming介绍及注意事项 转载自:http://www.it165.net/os/html/201303/4799.html Windows Ser ...
- TODO:Golang指针使用注意事项
TODO:Golang指针使用注意事项 先来看简单的例子1: 输出: 1 1 例子2: 输出: 1 3 例子1是使用值传递,Add方法不会做任何改变:例子2是使用指针传递,会改变地址,从而改变地址. ...
随机推荐
- Django 中 admin 的执行流程
Django 中 admin 的执行流程 1 循环加载执行所有已经注册的 app 中的 admin.py 文件 def autodiscover(): autodiscover_modules('ad ...
- notepad++配置编译运行java
点击插件->Plugin Manager->show plugin manager : 选择NppExec,选择install,就将这个插件下载下来了. 这个时候会重启notepad++: ...
- HDU_2082 找单词 【母函数的应用】
题目: 假设有x1个字母A, x2个字母B,..... x26个字母Z,同时假设字母A的价值为1,字母B的价值为2,..... 字母Z的价值为26.那么,对于给定的字母,可以找到多少价值<=50 ...
- D3.js v4版本 按住shift键框选节点demo
http://download.csdn.net/download/qq_25042329/10139649
- AES/ECB/NoPadding 加减密
package unit; import javax.crypto.Cipher; import javax.crypto.spec.SecretKeySpec; import org.apache. ...
- crontab -e
crontab -e可以配置定时任务 0 */3 * * * cd /root/find && nohup qbittorrent-nox --webui-port=7070 & ...
- vue嵌套路由 && 404重定向
第一部分: vue嵌套路由 嵌套路由是什么? 嵌套路由就是在一个被路由过来的页面下可以继续使用路由,嵌套也就是路由中的路由的意思. 比如在vue中,我们如果不使用嵌套路由,那么只有一个<rou ...
- filter 静态资源
package com.itheima.web.filter; import java.io.IOException; import javax.servlet.Filter; import java ...
- 求入栈顺序为1234……N的序列的所有可能的出栈序列
class Program { private static void Fun(int x, int n, Stack<int> stack, List<int> outLis ...
- 在Spark shell中基于HDFS文件系统进行wordcount交互式分析
Spark是一个分布式内存计算框架,可部署在YARN或者MESOS管理的分布式系统中(Fully Distributed),也可以以Pseudo Distributed方式部署在单个机器上面,还可以以 ...