vb6.0 运行时错误 429_常见的3个Excel VBA程序错误

职场中使用Excel VBA编程处理表格数据时,我们肯定会遇到过错误。《神奇的VBA》学习插件中介绍过VBA错误有语法错误,有运行时错误等等。语法错误在编程阶段编辑器会告知我们,这很方便,但是运行时错误有时候就有点麻烦了。程序运行时错误是所有写程序人的天敌!一个小小的错误有时候能让人变得非常暴躁。尤其是学习Excel VBA的新人,程序的错误更会消耗一个人的耐心和兴趣。下面介绍3个常见的错误。这些错误不仅职场Excel编程的新人会碰到,而且经常使用Excel VBA编程的职场老腊肉们其实也经常会掉坑里。

0693fa189f5be6435fa1249004befe4a.png

1. 变量名错误

错误信息: 运行后没有返回正确的结果。为什么我的运行结果为空?

Sub 创建变量并赋值()Dim str1 As Stringshr1 = "I Love 神奇的VBA"MsgBox str1End Sub
7b6ae1e3575b69b44eb95963e9279158.gif

错误原因: 这个错误,太多人会碰到了,这是个典型的超低级错误!上面代码示例中str1和sh1根本就不是同一个变量。虽然显式定义了一个字符串String类型的变量,但是赋值变量时,却写错了变量。由于编辑器默认不用强制编程声明,所有sh1在编程时并没有提示错误。运行时也不会产生错误,sh1相当于隐式地创建了一个变量。


2. 数组定义理解不清

错误信息: 运行后,循环遍历数组时,为什么会多弹出一个0.

Sub 数组赋值并遍历()'创建一维数组Dim num(3) As Integer'对元素数组进行赋值Dim x As LongFor x = 0 To 2    num(x) = Cells(x + 1, "A") '假设A1~A12单元格都有数据Next'通过循环遍历逐一弹窗显示数组的元素值Dim ele As VariantFor Each ele In num    MsgBox eleNextEnd Sub
b8081240aa44234057650b16f5e6e50f.gif

错误原因:在没有Option Base 1语句的前提下, num(12)等同于num(0 To 12) 总共有13个元素,而不是12个元素。


3. For Each遍历数组元素产生错误!

错误信息: 循环遍历数组获取数组元素值时,运行中产生错误提示“下标越界”。

Sub 数组赋值并遍历()'创建一维数组Dim num(0 To 2) As Integer'对元素数组进行赋值Dim x As LongFor x = 0 To 2    num(x) = Cells(x + 1, "A") '假设A1~A12单元格都有数据,分别为1~12Next'通过循环遍历逐一弹窗显示数组的元素值Dim ele As VariantFor Each ele In num    MsgBox num(ele) '产生“下标越界”的运行时错误!NextEnd Sub
b1fc1825e6e748a04422a6062a20a0b5.gif

错误原因: 应该将num(ele) 改成 ele。For..Each遍历直接遍历元素。而num(ele)这样写会重新以ele值作为索引获取数组值!如果ele不是数值的如字符串的话会立即产生错误!

暂时就介绍这么多,更多知识下次再分享。

关注我,学习职场中的干货技能!

第1章Range(单元格)对象8 技巧1单元格的引用方法8 1-1使用Range属性8 1-2使用Cells属性9 1-3使用快捷记号9 1-4使用Offset属性10 1-5使用Resize属性11 1-6使用Union方法12 1-7使用UsedRange属性12 1-8使用CurrentRegion属性13 技巧2选定单元格区域的方法13 2-1使用Select方法13 2-2使用Activate方法14 2-3使用Goto方法15 技巧3获得指定行、列中的最后一个非空单元格15 技巧4定位单元格18 技巧5查找单元格19 5-1使用Find方法19 5-2使用Like运算符23 技巧6替换单元格内字符串24 技巧7复制单元格区域25 技巧8仅复制数值到另一区域28 8-1使用选择性粘贴28 8-2直接赋值的方法29 技巧9单元格自动进入编辑状态30 技巧10禁用单元格拖放功能30 技巧11单元格格式操作31 11-1单元格字体格式设置31 11-2设置单元格内部格式33 11-3为单元格区域添加边框34 11-4灵活设置单元格的行高列宽36 技巧12单元格中的数据有效性37 12-1在单元格中建立数据有效性37 12-2判断单元格是否存在数据有效性39 12-3动态的数据有效性39 12-4自动展开数据有效性下拉列表41 技巧13单元格中的公式42 13-1在单元格中写入公式42 13-2检查单元格是否含有公式43 13-3判断单元格公式是否存在错误44 13-4取得单元格中公式的引用单元格45 13-5将单元格中的公式转换为数值46 技巧14单元格中的批注47 14-1判断单元格是否存在批注47 14-2为单元格添加批注48 14-3删除单元格中的批注49 技巧15合并单元格操作50 15-1判断单元格区域是否存在合并单元格50 15-2合并单元格时连接每个单元格的文本51 15-3合并内容相同的连续单元格52 15-4取消合并单元格时在每个单元格中保留内容54 技巧16高亮显示单元格区域55 技巧17双击被保护单元格时不显示提示消息框56 技巧18重新计算工作表指定区域58 技巧19录入数据后单元格自动保护58 技巧20工作表事件Target参数的使用方法60 20-1使用单元格的Address 属性60 20-2使用Column属性和Row属性61 20-3使用Intersect方法61 第2章Worksheet(工作表)对象63 技巧21引用工作表的方式63 21-1使用工作表的名称63 21-2使用工作表的索引号63 21-3使用工作表的代码名称64 21-4使用ActiveSheet属性引用活动工作表64 技巧22选择工作表的方法65 技巧23遍历工作表的方法66 23-1使用For...Next 语句66 23-2使用For Each...Next 语句68 技巧24在工作表中上下翻页69 技巧25工作表的添加与删除70 技巧26禁止删除指定工作表74 技巧27自动建立工作表目录76 技巧28工作表的深度隐藏78 技巧29防止更改工作表的名称80 技巧30工作表中一次插入多行81 技巧31删除工作表中的空行82 技巧32删除工作表的重复行84 技巧33定位删除特定内容所在的行86 技巧34判断是否选中整行87 技巧35限制工作表的滚动区域88 技巧36复制自动筛选后的数据区域89 技巧37使用高级筛选获得不重复记录91 技巧38工作表的保护与解除保护92 技巧39奇偶页打印95 第3章Wordbook(工作簿)对象97 技巧40工作簿的引用方法97 40-1使用工作簿的名称97 40-2使用工作簿的索引号97 40-3使用ThisWorkbook98 40-4使用ActiveWorkbook99 技巧41新建工作簿文件99 技巧42打开指定的工作簿101 技巧43判断指定工作簿是否打开104 43-1遍历Workbooks集合方法104 43-2错误处理方法104 技巧44禁用宏则关闭工作簿105 技巧45关闭工作簿不显示保存对话框109 45-1使用Close方法关闭工作簿109 45-2单击工作簿关闭按钮关闭工作簿111 技巧46禁用工作簿的关闭按钮111 技巧47保存工作簿的方法113 47-1使用Save方法113 47-2直接保存为另一文件名113 47-3保存工作簿副本113 技巧48保存指定工作表为工作簿文件114 技巧49打印预览时不触发事件116 技巧50设置工作簿文档属性信息118 技巧51不打开工作簿取得其他工作簿数据119 51-1使用公式119 51-2使用GetObject函数120 51-3隐藏Application对象121 51-4使用ExecuteExcel4Macro
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值