分享

Excel VBA 控制代码执行的几个方式,你更喜欢哪个过程执行中枢

 xylloyd 2021-02-26

今天和大家说的是VBA代码执行的方式,举个例子啊,我们的代码执行过程一般都是从SUB 开始,到end sub 结束,这个过程是顺其自然的。但是在我们有些时候,并不需要他按照流程执行,而是需要跳过某些语句进行执行,或者判断条件来执行的语句,这个时候我们就需要使用控制代码执行的方式,具体的几种控制执行方式如下,我们会一一讲解的。

GOTO 语句

IF-Then 结构

Select Case 结构

For-next 结构

DO While 结构

Do Until 结构

GOTO 语句

这个语句是我们最常用的改变执行过程的语句,这个语句就是可以将程序执行的路径转移到我们指定的指令上面,但是需要注意的是,这个跳转语句只能在一个子过程中间跳转,而不支持在模块之间跳转。举个栗子,如下所示代码:

Excel VBA 控制代码执行的几个方式,你更喜欢哪个过程执行中枢

在本轮中使用GOTO语句的作用是,当我们的等式成立的时候,就直接跳转出来,显示我们需要的结果,需要注意的是,我们GOTO后面接的是我们要跳转的字符,我们需要跳转的字符标签位置需要增加冒号(文本必须要冒号,数字可以不需要冒号),这样可以加快执行的速度。

一般情况下,我们并不建议你使用GOTO语句,因为使用这个了,让程序变得比较难看懂,在另外的情况下,比如跳过程序中间的错误值,我们可以使用GOTO语句。

IF-Then 结构

在VBA代码中最常见的判断语句就是我们的IF-Then 结构,这个是非常重要的判断语句,这个结构我们用于单条件或者多条件判断。举个栗子,如下:

Excel VBA 控制代码执行的几个方式,你更喜欢哪个过程执行中枢

以上是单条件判断语句,当我们的代码只有一行的时候,可以不写END IF。但是如果分成2行的话,就必须写上,否则会报错的,他们是一一对应的。

我们现在看看一个if then多条件判断结构,如下所示:

Excel VBA 控制代码执行的几个方式,你更喜欢哪个过程执行中枢

就是利用判断语句,对我们的X值就行判断,如果一旦符合就执行完成此段代码。

其实这个语句和我们的IF函数非常类似,当然VBA中间还有一个IIF函数的使用方法和IF函数的方式一样,我们就不一一解释了。

Select Case 结构

当我们在多个选择之间做出选择的时候,我们就可以使用这个结构,就可以看到这个结构是有多么的方便了。他和我们的IF THEN结构可以相互替代,用法如下:

Excel VBA 控制代码执行的几个方式,你更喜欢哪个过程执行中枢

其实这个结构我们非常好理解,需要注意的是每个Case语句的下方,可以写很多的执行代码,当条件满足的时候,我们的程序都会执行。需要注意的一点是,为了既包括程序的执行速度,我们需要将把最优可能的情况,放置在最前面,这样效率就能最大化。

For-next 结构

这个循环也是我们最最常用的循环语句,是我们最好的一个循环语句。他的具体用法如下:

Excel VBA 控制代码执行的几个方式,你更喜欢哪个过程执行中枢

其实这个结构是非常简单的,需要把我们要执行的代码放置在中间即可,就相当于累计进行循环执行。在使用这个结构的时候,循环计数器就是我们的I,是一个变量的存在,需要你理解好这一点知识。当然我们可以控制循环执行的次数或者要求,如下,我们需要求出1-100之间偶数的平方求和:

Excel VBA 控制代码执行的几个方式,你更喜欢哪个过程执行中枢

在这个子过程中,我们利用循环的步长,进行提取偶数,然后进行平方求和累计,得到我们最后要的结果。当然我们在使用这个结构的时候,我们可以使用Exit for提前退出循环,如下所示:

Excel VBA 控制代码执行的几个方式,你更喜欢哪个过程执行中枢

另外需要说明的一点是,循环可以多次嵌套,支持多次使用。

Excel VBA 控制代码执行的几个方式,你更喜欢哪个过程执行中枢

DO While 结构

这个结构是VBA代码给我们的另外一种循环的结果,与For Next循环不同的是,只有在满足的情况下才会执行程序。这个结构有2个使用方法,如下图所示的的用法:

Excel VBA 控制代码执行的几个方式,你更喜欢哪个过程执行中枢

以上的2个结构,不同之处就是第一个结构有可能从来都不执行循环的内容,第二个语法,则是至少执行一次循环的内容。当然这个结构也支持提前退出语句Exit Do,此时循环理解结束,将会退出循环。

Do Until 结构

这个结构和我们的DO While结构是非常类似的,只有在我们条件满足时候,他们执行才会稍微有差异。在Do While的结构中,我们循环的条件为真的时候就执行循环,而在Do Until结构时候,一直执行循环,直至循环条件为真的时候。举个例子,如下:

Excel VBA 控制代码执行的几个方式,你更喜欢哪个过程执行中枢
Excel VBA 控制代码执行的几个方式,你更喜欢哪个过程执行中枢

Do Until的2种循环结构,我们只需要合理应用即可。

需要说明的是VAB其实是一种结构的语言,我们只需要按照他提供的标准进行编写即可。另外我们需要从开始就建立好良好的模块化代码编写结构,在以后的路上就知道作用非常之大。

以上就是我们今天和大家说的代码的中的控制代码执行的使用方法,其实VBA代码学习起来非常简单,他就是一个脚本语言的存在,他有自己的条条框框,你按照他的游戏规则来写代码就可以。如果有不明白的或者不懂的可以在下方留言,我们会一一解答的。

Excel VBA 控制代码执行的几个方式,你更喜欢哪个过程执行中枢

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多