编程正确运行结果错误_操蛋的VBA程序错误!

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

7e35c1281b6500200d112e8d6083c4cf.png

1. 变量名错误

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

Sub 创建变量并赋值()Dim str1 As Stringshr1 = "I Love 神奇的VBA"MsgBox str1End Sub
d604583552e3c69fcdf8bc8043a21023.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
9e6100da981539d46e24b9814c1f667c.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
77f80bde51a09116e0ec1e0fe38405e8.gif

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值