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

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

GOTO 语句

IF-Then 结构

Select Case 结构

For-next 结构

DO While 结构

Do Until 结构

GOTO 语句

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

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

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

IF-Then 结构

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

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

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

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

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

Select Case 结构

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

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

For-next 结构

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

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

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

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

DO While 结构

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

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

Do Until 结构

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

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

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

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

(0)

相关推荐

  • 一次性将总表的内容,快速输入到100个工作表

    因为工作上能用到VBA的情况并不多见,所以一直以来对VBA兴趣并不是很大.刚好,学员的这个案例,用VBA最合适,而且代码又不难,就顺便拿出来说明. 产品目录,记录着100多种产品的相关信息. 分表,要 ...

  • 零基础学C语言循环与控制结构

    https://m.toutiao.com/is/eLASn2y/ 这是一个C语言系列文章,如果是初学者的话,建议先行阅读之前的文章.笔者也会按照章节顺序发布. 本篇详细讲解循环结构与控制结构.对于每 ...

  • 让你的图表动起来,康忙北鼻,来次够!

    水粉(桦树林) 先做一道数学题 已知三角形的两条边长为a和c,顶点为A,B,C 如下图所示,假设A点的坐标为(0,0),c边与X轴的夹角为Φ,你能求出B.C点的坐标吗? 下面的图示已给出计算方法,如果 ...

  • Excel编程周末速成班第26课:处理运行时错误

    excelperfect 主要内容: 理解运行时错误及其原因 如何在过程中启用错误捕获 使用Err对象 编写错误处理代码 延迟错误处理 使用错误作为编程工具 运行时错误是在程序运行时发生的错误,除非处 ...

  • 太实用了!Excel VBA常用代码!

    前两天有两位朋友留言想收集一些VBA的常用代码,今天开始会陆续分享一些! 记得收藏好哦,因为今后你应用到稍大型Excel VBA程序时,这其中某些代码肯定会用到. 来看看都是哪些常用代码: 下面先举一 ...

  • Excel VBA使用数字签名,让你代码开启执行无忧之路

    前言:对于初学VBA的你,或许不知道VBA其实也可以是一种宏病毒,他可以悄悄的删除你计算机内的任何文件.相对于Excel而言,假如某个文件中有VBA代码,让我们大多数最担心是的一件事情便是是否存在病毒 ...

  • Excel VBA 7.65 VBA代码交互不够方便?不要忘记还有炫酷的窗体功能

    VBA代码交互不够方便?不要忘记还有炫酷的窗体功能 点击上方"Excel和VBA",选择"置顶公众号" 致力于原创分享Excel的相关知识,源码,源文件打包提供 ...

  • VBA经典代码 拿来即用 1.6 用Excel实现计时钟的效果

    Excel在我们的日常工作中,最多是用来存储数据,处理数据,但是你知道Excel还可以用来做时钟吗? 当然,我们的这个时钟只能算是电子时钟,不过也是非常实用的 来看看如何实现的吧. 1.首先我们先找一 ...

  • word vba 控制光标常用代码

    Selection.MoveDown Unit:=wdLine, Count:=1'光标下移一行 '选中光标所在行 With Selection         .HomeKey Unit:=wdLi ...

  • Excel vba双击单元格代码

    为什么要使用vba双击单元格,那是因为Excel中的数据,通过复制粘贴过来以后,不会马上变成所设置的单元格的数据类型,而是要通过双击才能变成Excel所需要的数据. 就比如说,身份证中提取过来的出生年 ...

  • VBA经典代码 拿来即用 1.1按照固定规则缩放Excel窗体

    常规情况下,当我们手工打开一个Excel窗体的时候,基本上都是最大化的全屏展示的 这样的好处就是,方便我们做数据,也方便将注意力集中在Excel上面 但是不同的场景有不同的需求,有时候我们可能需要将窗 ...

  • 经典Excel VBA代码

    VBA基础在大家的关注声中即将告一段落了,限于水平和篇幅,有许多经典的VBA操作我只是作了简要的介绍,想要熟练地使用VBA还需要大家慢慢地去消化和吸收,然后在实践中总结和提高.最后我收集了常见的VBA ...

  • Excel VBA工作薄 6.5到时会自动消失的提示窗口 不影响程序执行

    前景提要() 在我们的印象中,不管是excel自带的弹窗,还是我们自己通过代码写出来的弹窗都是需要操作才会消失的 比方说这样的,你不点击按钮,这个弹窗会一直存在 而在我们自己写的VBA代码中,弹窗都是 ...