这套笔记是我目前在学习的蓝色幻想VBA教程和购买的《别怕,Excel VBA其实很简单》一书的对照学习笔记,我将二者结合起来了,也有些知识点是我的小经验补充上去的,欢迎大家批评指正!所有图片来自蓝色幻想视频。
第8节VBA分支与End语句
第8节VBA分支与End语句
一、END语句
我们在写If函数、过程或自定义函数的时候,最后一句总是End If 或 End Sub或End Function,这里End的意思是强制退出所有正在运行的程序,包括这段代码中的一切窗体。
二、Exit语句
不同于End,Exit的退出稍微轻一些,它只退出指定的语句。
Exit语句是为了在符合某种情况的时候退出,所以必然是跟If判断一起用的。一下是具体的几个例子,用法其实是一样的。
1、退出过程——Exit Sub
2、退出函数——Exit function
3、退出for循环——Exit for
三、Goto语句
跟其它语言一样,VBA也给出了Goto语句,它有自己的特色,还是遵从大牛们讲的,不到不得已,尽量不使用Goto语句,因为那样跳来跳去的程序的可读性差,维护较麻烦。
1、跳转到指定的地方
这个是跟其它语言一样的用法,记住跳转代号要顶格写,后面有英文冒号。
2、Gosub......return ——跳过去,再跳回来
大多数语言都是按顺序自上而下执行的(循环另当别论,可将其看作一个代码块,整体上就是自上而下的了),但是如果我们只有个别情况需要特殊处理,处理完后我还想返回原来的位置继续执行怎么办?这就需要return了,看下面的例子。
Goto语句还有个非常棒的用法——程序调试和容错。我们先看一个忽略错误的例子。
3、on error resume next ——遇到错误忽略,继续执行下一句
这个语句就是遇到错误跳过继续执行下一句,把它放在代码前面就可以忽略整段代码的错误了。
有没有高级一点的?比如我在调试程序,我想知道出错的位置,或我想让程序出错后执行我写的某些语句。这就用到Goto了。
4、on error goto ——出错时跳到指定的行数
它的用法跟Goto一样,只不过是在程序出错后执行的跳转。
5、on error goto 0——取消错误跳转发现没,我们上面讲的忽略错误只有开,没有关?那如果在某些情况下的错误不能忽略,我必须把On Error Resume Next关闭怎么办?就是这句On Error Goto 0,是数字0,不是字母O。
相关笔记请参阅:
联系客服