以下是项目过程中遇到的坑,可能有些说明的部分不一定严谨,仅供参考

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注意事项的更多相关文章

  1. Ruby操作VBA的注意事项和技巧(2):宏里调用和控制窗体以及窗体上的控件、不同workbook之间的宏互相调用

    4.宏里调用并控制窗体以及窗体上的各种控件 1 Sub Criterion_Check() 2 If Workbooks.count = 0 Then '如果当前没有打开的工作薄的话需要发出警告 3 ...

  2. Ruby操作VBA的注意事项和技巧(1):乱码、获取VBA活动和非活动窗口的名称与路径、文件路径的智能拼接与截取(写入日期)

    1.VBA编辑器复制粘贴出来的代码乱码     解决方法:切换到中文输入模式再复制出来就行了 2.获取VBA活动和非活动窗口的名称与路径 Dim wbpath, filename As String ...

  3. VBA中数据库导出数据到Excel注意事项

    Sub ReadDBData() On Error GoTo ErrorHand Dim dbHelper As New dbHelper Dim sqlSQL As String Dim rs As ...

  4. 在VBA中使用Windows API

    VBA是一种强大的编程语言,可用于自定义Microsoft Office解决方案.通过使用VBA处理一个或多个Office应用程序对象模型,可以容易地修改Office应用程序的功能或者能够使两个或多个 ...

  5. Word 借助VBA一键实现插入交叉引用

    最近写论文的时候,经常需要向上或向下插入题注的交叉引用,word 自带的界面往往需要操作多次,才能实现插入.而平时使用较多的只是交叉引用附近的题注,比如如图1.1所示,在图1.1中等,距离较远的引用则 ...

  6. VBA笔记

    1.VBA数据类型 数据类型 存储空间大小 范围 Byte 1个字节 0-255 Boolean 2个字节 true或false Integer 2个字节 -32768-32767 Long 4个字节 ...

  7. jQuery UI resizable使用注意事项、实时等比例拉伸及你不知道的技巧

    这篇文章总结的是我在使用resizable插件的过程中,遇到的问题及变通应用的奇思妙想. 一.resizable使用注意事项 以下是我在jsfiddle上写的测试demo:http://jsfiddl ...

  8. Windows Server 2012 NIC Teaming介绍及注意事项

    Windows Server 2012 NIC Teaming介绍及注意事项 转载自:http://www.it165.net/os/html/201303/4799.html Windows Ser ...

  9. TODO:Golang指针使用注意事项

    TODO:Golang指针使用注意事项 先来看简单的例子1: 输出: 1 1 例子2: 输出: 1 3 例子1是使用值传递,Add方法不会做任何改变:例子2是使用指针传递,会改变地址,从而改变地址. ...

随机推荐

  1. Moving docker images location to different partition

    By default docker will put all the data including images under /var/lib/docker(At least on Debian). ...

  2. P3332 [ZJOI2013]K大数查询

    传送门 注意操作 $1$ 是在区间的每个位置加入一个数,不是加上一个值 相当于每个位置维护的是一个集合 显然树套树 一开始想的是区间线段树套权值线段树 发现这样询问区间第 $K$ 大时就要先二分答案再 ...

  3. POJ - 3261 后缀数组 height应用

    题意:求最少重叠\(k\)次的重复子串的最大长度 子串长度问题依然是二分枚举,可以观察出重叠的一定是sa排序中连续的 之前想出一种判断要\(n^2\)的方法,没有考虑到后面肯定会连续出现的情况 (大概 ...

  4. springboot(八)-定时任务

    在我们的项目开发过程中,经常需要定时任务来帮助我们来做一些内容. 如果我们不用springboot开发的话,我们写定时任务需要写那些配置呢? 我们需要在application.xml文件中添加以下配置 ...

  5. [转] #!/bin/sh & #!/bin/bash区别

    [From] http://blog.51cto.com/meiling/1826201 在shell脚本的开头往往有一句话来定义使用哪种sh解释器来解释脚本.目前研发送测的shell脚本中主要有以下 ...

  6. spring4.x hibernate4.x 整合 ehcache 注解 annotate

    [From] http://my.oschina.net/alexgaoyh/blog/348188

  7. nodejs的一些学习

    要使用npm的时候,其实是可以直接下载node.js的.参考文档http://www.runoob.com/nodejs/nodejs-npm.html 安装成功之后.判断是否安装成功.是不能直接用n ...

  8. C# MODBUS 通信

    背景 电厂有多组监控设备,需要在指定的设备上显示某些数据(其他设备对接过来的).通信协议是modbus主从结构. 源码: http://download.csdn.net/download/wolf1 ...

  9. 关于跨域登录中获取COOKIES解析BUG

    FormsAuthentication.Decrypt   报错    Length of the data to decrypt is invalid. 关于同域名不同服务器之间的登录,加密配置说明 ...

  10. unity发布安卓lua路径不存在问题

    项目用的是xlua 采用自定义加载方式 使用File去读取路径下的文件,lua文件本来放在了StreamingAssets路径下 PC运行无问题,发布安卓后,居然提示路径不存在. 查了下资料后发现,F ...