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是使用指针传递,会改变地址,从而改变地址. ...
随机推荐
- sharepoint_study_5
描述:手动进行SharePoint网页调试图解 解决: 第一步:打开页面的后台代码,设置断点 第二步:添加到进程 第三步:选择SharePoint进程,我这里都选了,如果你知道要调试的页面是哪一个进程 ...
- 【算法笔记】B1006 换个格式输出整数
1006 换个格式输出整数 (15 分) 让我们用字母 B 来表示“百”.字母 S 表示“十”,用 12...n 来表示不为零的个位数字 n(<10),换个格式来输出任一个不超过 3 位的正整数 ...
- vuex的小疑问记录
actions和mutations的区别是Action提交的是Mutation,不能够直接修改state中的状态,而Mutations是可以直接修改state中状态的:Action是支持异步操作的,而 ...
- 面向对象中的@classonlymethod 与 @classmethod的区别
如果要使用classonlymethod ,则需要先定义好一个classonlymethod 类. 首先我们需要明白无论是classonlymethod还是classmethod,本质都是一个类,而c ...
- 简单的html渲染模板引擎
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- bat mvn Maven中-DskipTests和-Dmaven.test.skip=true的区别 Maven 生命周期
cd C:\Users\lt32806\git\tempest call mvn clean compile -Dmaven.test.skip=truepause Maven中-DskipTests ...
- linux 第八章 高级键盘
1.clear:清屏 2.history:显示历史命令列表 3.Ctrl+A:移动光标到行首 4.Ctrl+E:移动光标到行尾 5.Ctrl+F:光标向前移动一个字符 6.Ctrl+B:光标向h后移动 ...
- mysqy 特别小点
1从另外一个 表的查询结果中查数据(没有条件(无where)) SELECT * FROM (SELECT * FROM students) as aSELECT * FROM student ...
- (转)Python之文件读写
Python之文件读写 原文:https://www.cnblogs.com/huilixieqi/p/6494891.html 本节内容: I/O操作概述 文件读写实现原理与操作步骤 文件打开模式 ...
- TOJ 3660 家庭关系
描述 给定若干家庭成员之间的关系,判断2个人是否属于同一家庭,即2个人之间均可以通过这些关系直接或者间接联系. 输入 输入数据有多组,每组数据的第一行为一个正整数n(1<=n<=100), ...