Sub过程与程序流程控制语句

合集下载

第9章 Sub过程

第9章 Sub过程

第9章Sub过程第9章Sub过程VBA应用程序是由过程组成的,使用Excel VBA开发应用程序就是在编写过程。

前面各章中已经多次使用到过程。

9.1 过程的分类过程是指由一组完成指定任务的VBA语句组成的代码集合。

在VBA中,可执行的代码都必须放置在过程中。

VBA中的过程可分为事件过程、属性过程和通用过程。

1. 事件过程事件过程是当发生某个事件(如单击、双击)时,对该事件做出响应的程序段。

事件过程位于对象所在模块中,例如有关工作簿的事件代码放置在ThisWorkbook对象的代码模块中。

在打开工作簿时将调用的程序代码可放置在Workbook对象的Open事件中,如图9-1所示。

2. 属性过程在“类模块”中设置类的属性值时,可通过“属性过程”来完成。

3. 通用过程有时在不同的事件过程中需要执行一段相同的代码,可以把这段代码独立出来,作为一个过程,这样的过程称为“通用过程”。

在VBA中,通用过程又分为两类:Sub(子程序)过程和Function(函数)过程。

●Sub过程:这类过程完成指定任务,执行结束后不返回值。

●Function过程:这类过程完成指定的任务,并返回一个值供调用程序使用。

一般通用过程保存在VBA的“模块”中,一个模块可以包含任意数量的过程,同时,一个VBA工程可以包括任意多个模块。

9.2 定义Sub过程在使用之前,需要先在模块中定义过程。

VBA中有两种定义过程的方法:一种方法是使用窗体创建过程的结构,再在过程中编写相应的代码;另一种方法是在模块中直接输入代码来定义过程。

】9.2.1 添加过程通用过程一般保存在模块中,在创建过程前可先通过选择“插入”ㄧ“模块”命令向工程中添加一个模块。

计算机组成原理sub指令

计算机组成原理sub指令

计算机组成原理sub指令一、引言计算机指令是计算机执行各种操作的核心,而sub指令是计算机指令系统中的一种基本指令,用于执行减法运算。

sub指令在计算机组成原理中占据着重要的地位,它不仅在数据传送、算数运算、逻辑运算等方面有着广泛的应用,而且在控制流程、地址计算等方面也发挥着重要的作用。

二、sub指令的功能与实现sub指令的功能是将两个操作数相减,并将结果存储在一个寄存器中。

在实现上,sub指令通常采用加法器来实现减法运算,即将第一个操作数加负第二个操作数来实现减法。

如果两个操作数相减的结果为正数,则表示被减数大于减数,结果存储在寄存器中;如果结果为负数,则表示被减数小于减数,需要继续执行减法操作,直到结果为正数为止。

三、sub指令的应用sub指令在计算机组成原理中有着广泛的应用。

首先,它可以用于算术运算中,例如加减法运算、比较大小等。

其次,它可以用于逻辑运算中,例如判断两个数值之间的关系等。

此外,sub指令还可以用于控制流程中,例如跳转、循环等操作。

最后,sub指令还可以用于地址计算中,例如计算内存地址等。

四、sub指令的执行过程sub指令的执行过程可以分为以下几个步骤:1.取指阶段:从内存中读取指令和操作数数据;2.译码阶段:对指令进行译码,确定指令的操作和操作数;3.执行阶段:根据译码结果执行sub指令,将两个操作数相减并将结果存储在寄存器中;4.送回阶段:将结果返回给程序计数器或寄存器等。

五、sub指令的优化为了提高计算机的性能和效率,可以对sub指令进行优化。

例如,可以采用流水线技术来减少指令之间的等待时间;可以采用乱序执行技术来提高指令执行的顺序性;可以采用分支预测技术来减少分支跳转的时间和次数等。

六、总结sub指令是计算机组成原理中的基本指令之一,它在数据传送、算数运算、逻辑运算、控制流程、地址计算等方面有着广泛的应用。

通过对sub指令的学习和理解,可以更好地了解计算机的工作原理和性能优化方法。

第9章 Sub过程

第9章 Sub过程

第9章Sub过程第9章Sub过程VBA应用程序是由过程组成的,使用Excel VBA开发应用程序就是在编写过程。

前面各章中已经多次使用到过程。

9.1 过程的分类过程是指由一组完成指定任务的VBA语句组成的代码集合。

在VBA中,可执行的代码都必须放置在过程中。

VBA中的过程可分为事件过程、属性过程和通用过程。

1. 事件过程事件过程是当发生某个事件(如单击、双击)时,对该事件做出响应的程序段。

事件过程位于对象所在模块中,例如有关工作簿的事件代码放置在ThisWorkbook对象的代码模块中。

在打开工作簿时将调用的程序代码可放置在Workbook对象的Open事件中,如图9-1所示。

2. 属性过程在“类模块”中设置类的属性值时,可通过“属性过程”来完成。

3. 通用过程有时在不同的事件过程中需要执行一段相同的代码,可以把这段代码独立出来,作为一个过程,这样的过程称为“通用过程”。

在VBA中,通用过程又分为两类:Sub(子程序)过程和Function(函数)过程。

●Sub过程:这类过程完成指定任务,执行结束后不返回值。

●Function过程:这类过程完成指定的任务,并返回一个值供调用程序使用。

一般通用过程保存在VBA的“模块”中,一个模块可以包含任意数量的过程,同时,一个VBA工程可以包括任意多个模块。

9.2 定义Sub过程在使用之前,需要先在模块中定义过程。

VBA中有两种定义过程的方法:一种方法是使用窗体创建过程的结构,再在过程中编写相应的代码;另一种方法是在模块中直接输入代码来定义过程。

】9.2.1 添加过程通用过程一般保存在模块中,在创建过程前可先通过选择“插入”ㄧ“模块”命令向工程中添加一个模块。

VBA开发环境中提供了一个“添加过程”对话框,通过该对话框可方便地向当前模块中添加过程。

具体操作步骤如下。

步骤1 在VBE环境中选择“插入”ㄧ“过程”命令,打开如图9-2所示的“添加过程”对话框。

使用图9-2所示对话框除了可以插入一个新的Sub过程、Function过程或属性过程,还可以设置Public或Private有效范围,并使得过程中所有的局部变量成为静态变量。

ExcelHome_VBA_培训-sub过程与程序流程控制语句

ExcelHome_VBA_培训-sub过程与程序流程控制语句

ExcelHome_VBA_培训-sub过程与程序流程控制语句sub过程与程序流程控制语句教师:ggsmart(叶枫)本课内容:sub过程与程序流程控制语句第一部分:Sub过程什么是过程:1、一个过程就是一组完成所需操作的VBA代码的组合。

2、VBA的过程主要包括“Sub过程”和“Function过程”(自定义函数)两种。

3、Sub过程不可以返回值,Function过程可以返回值。

声明Sub过程:1、录制的“宏”就是一个简单的Sub过程,使用录制宏功能只能生成Sub过程的代码。

2、Sub过程的特点:以“Sub过程名()”开头,以“End Sub”结尾;Sub过程一般保存在模块里;不返回运行结果。

3、声明Sub过程:[Public/Private][Static] Sub过程名称(参数1,参数2……..)--------public/private两个参数二选一public表明公共过程,一个工作簿所有模块的过程都可以访问这个过程;private声明为私有过程,只有同模块的过程才能访问这一过程;static表明过程结束后保存过程中的变量;sub 过程名称表明过程的开始;(参数1,参数2,…….)表明一系列的变量,过程没有参数就必须有空的括号【语句块】【Exit Sub】----在过程结束前,强制过程结束【语句块】End Sub----表示过程的结束如果没有选择public/private就默认为公共过程,也就是相当选择了public参数。

在VBA里所有可执行代码都必须属于某个过程,不能在过程里再定义过程。

一个过程不限定过程的行数,它可以有一行、数百甚至数千行…..,但是随着过程行数的增加,错误也会增加。

因此过长的代码可以分成几个子过程。

创建一些小型过程而不是一个大过程是一个非常好的编程习惯。

4、从过程执行另一个过程:输入过程名称以及参数,参数用逗号隔开。

——过程名[,参数1,参数2,…..],如果过程没有参数就可不要输入参数;在过程名以及参数前使用Call关键字,参数用括号括起来,并用逗号隔开。

excel VBA最基础入门手册

excel VBA最基础入门手册

excelVBA最基础入门手册??1、什么是VBA?为什么要学习VBA??2、VBA与宏??3、VBE简介??4、对象、属性、方法、事件??5、VBA过程??6、数据类型、变量、数组、常量??7、(回复)该定义变量为何种数据类型??8、VBA的函数??9、程序流程控制:if语句??10、程序流程控制:SelectCase语句??11.程序流程控制:For—next语句??12、几个for—next循环的例子(作者:老朽??13、程序流程控制:For—Each语句??14、程序流程控制:DoWhile语句??15、程序流程控制:DoUntil语句??16、程序流程控制:Goto语句??17、用户窗体??18、再说Excel的对象模型??19、[小试牛刀]制作一个个性化的欢迎界面20、处理单元格数据(复制、剪切、删除??21、Range对象的End属性(带作业)??22、花名册分类(实例)??23、花名册汇总(实例??24、新建工作表??25、认识数组(一)??26、Worksheet的Change事件(带作业)??27、关于Application.EnableEvents属性(有实例动画)?? ??????????Application.EnableEvents补充说明??28、关于Worksheet的SelectionChange事件(有实例动画)??29、Worksheet的SelectionChange事件实例(trustwxq朋友提供)什么是VBA?为什么要学习VBA???=========??????VBA是VisualBasicForApplication的简称,具体说来,可能让叶枫三天三夜也说不完,叶枫也只知道VBA是建立在Office中的一种应用程序开发工具,其实知道这也就够了。

很懒很笨的叶枫只想吃香喷喷的大米饭,可从没想要知道大米饭是怎么来的。

??????Excel本身的内置函数其实已经很强大了,甚至有人说,只要学会二三十个函数,就已经可以满足普通用户日常的工作需求。

Sub过程

Sub过程
() '默认为全局过程 Static a As Integer 'a为静态变量 Dim b As Integer 'b为非静态变量
End Sub
Private Sub Form_Load()
End Sub
Private Static Sub mySub2() '模块级过程 Dim x As Integer 'x为静态变量
Sub subA(y As Integer) X = 0 '本过程级变量,未经显式声明 Print y 'y的值来自父过程中的实参
End Sub
Visual Basic 程序设

Sub过程
Sub mySub1(m As Integer, n As Integer) Print m, n
End Sub Private Sub Form_Load()
Call mySub1(1, 3) '过程中的形参m=1,n=3 mySub1 1, 3 Call mySub2 'VB将后面的空括号自动去掉 mySub2 End Sub Private Static Sub mySub2() Call Form_Load '调用窗体的Load事件过程 Form_Load End Sub
Sub过程
Sub过程也称子过程,是指以规定语法结构组织的、 可以被重复调用的、具有特定功能的相对独立的语句 块。 一、声明Sub过程
[Private|Public][Static] Sub 过程名([形式参数]) 过程体
End Sub 其中,Public声明全局过程,Private声明模块级过 程,默认为Public。 Static表明本过程中所有过程级变量均为静态。 使用Exit Sub语句可以使程序从Sub过程中退出。

二级VB基础教程:6.1VB的过程设计及子过程(Sub)的定义与调用

二级VB基础教程:6.1VB的过程设计及子过程(Sub)的定义与调用

1.什么是过程
在程序设计中,为各个相对独⽴的功能模块所编写的⼀段程序称之为过程。

2.VB中的⾃定义过程分类
(1)以“Sub”保留字开始的⼦程序过程(包括事件过程和通⽤过程),不返回值;
(2)以“Function” 保留字开始的函数过程,返回⼀个值;
(3)以“Property” 保留字开始的属性过程,可以返回和设置窗体、标准模块以及类模块的属性值,也可以设置对象的值。

3.事件过程
(1)窗体事件过程
语法:Private Sub Form_事件名([参数列表])
[局部变量和常数声明]
语句块
End Sub
注意:
1)窗体事件过程名由Form_事件名组成,多⽂档窗体⽤MDIForm_事件名;
2)每个窗体事件过程名前都有⼀个Private的前缀,表⽰该事件过程不能在它⾃⼰的窗体模块之外被调⽤;
3)事件过程有⽆参数,完全由VB提供的具体事件本⾝决定,⽤户不可以随意添加。

(2)控件事件过程
语法:Private Sub 控件名_事件名([参数列表])
[局部变量和常数声明]
语句块
End Sub 
注意:其中的控件名必须与窗体中某控件相匹配,否则VB将认为它是⼀个通⽤过程。

(3)建⽴事件过程的⽅法
1)打开代码编辑器窗⼝(两种⽅法:双击对象或从⼯程管理器中单击“查看代码”按钮)
2)在代码编辑器窗⼝中,选择所需要的“对象”和“事件过程”
3)在Private Sub …… End Sub之间键⼊代码
4)保存⼯程和窗体
(4)事件过程的调⽤
事件过程由⼀个发⽣在VB中的事件来⾃动调⽤或者由同⼀模块中的其他过程显⽰调⽤。

VB中Sub子过程与函数的调用

VB中Sub子过程与函数的调用

VB中Sub⼦过程与函数的调⽤在做学⽣管理系统中,遇到了太多太多的问题,发现了VB的学习是多么的不牢固,即使当初耗费了⼤量的时间。

从现在开始,将把⾃⼰遇到的那些模糊或者不懂的知识总结出来,查漏补缺,欢迎⼤家提出批评指正!VB中的调⽤主要针对Sub⼦过程和⾃定义函数的调⽤。

不论是Sub⼦过程还是函数过程,都是将⼀段完整的功能独⽴出来,建⽴⼀个过程。

在主调程序中通过调⽤过程,将需要计算的参数(实参)传递给过程;在过程中求得结果后再讲结果返回到主调程序,从⽽实现程序的功能,并使程序结构更为清晰、简洁。

⼀、Sub⼦过程的调⽤在程序中要调⽤Sub⼦过程的⽅法有如下两种:Call 过程名(实参列表)或过程名 [实参列表]调⽤Sub⼦程序的程序段称为主调程序。

在主调程序中调⽤Sub⼦过程时,将使程序流程⾃动转向被调⽤的Sub⼦过程。

在过程执⾏完最后⼀⾏语句 End Sub 之后,程序流程将⾃动返回到主调程序语句的下⼀⾏继续进⾏,如下图所⽰:在调⽤过程的的语句中,不仅要求实参个数与被调⽤过程形参个数⼀致,⽽且要求实参表的参数类型、参数顺序与被调⽤过程形参表的参数完全⼀致。

⼆、⾃定义函数的调⽤形式如下:函数名(实参列表)实参列表有变量名、数组名、数组元素名、常熟或表达式组成,在调⽤时,实参和形参的数据类型、顺序、个数必须⼀⼀对应。

如下图所⽰:函数调⽤只能出现在表达式中,其功能是求得到函数的返回值。

从上⾯两张图中可以看出,Sub⼦过程和函数过程在传递需要计算的参数时(实参a、b传递给形参x、y),两者并没有什么不同。

但在返回结果⽅⾯,因为函数过程可以通过函数名返回结果,因此,在函数过程中⼀般只需要设置接收计算参数的形参即可(图2的形参为x、y);Sub⼦过程却有所不同,由于Sub⼦过程名只代表名字,没有返回值,所以必须另外设置专门的形参⽤于返回结果(图1的形参为z1、z2)。

那么,在解决⼀个问题时,是使⽤Sub⼦过程还是使⽤函数过程呢?从原则上来说,解决⼀个问题,既可以使⽤Sub⼦过程,也可以使⽤函数过程。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Excel Home VBA培训班小结第四课时Sub过程与程序流程控制语句讲师:ggsmart(叶枫)学员:denkey1内容大纲:一、Sub过程二、程序流程控制语句在前面的课程中,学习了VBA的开发环境,并通过录制宏功能认识到宏这种最简单的VBA程序的学习,对宏有了较为清楚的认识。

录制宏是一个很方便也很有用的功能,特别是简单重复的操作,使用录制宏和执行宏能极大提高工作效率。

尽管如此,使用录制宏功能得到的VBA代码,仍有很多的局限性,比如:不能进行人机交互,不能进行判断、循环等,宏只是简单录制下来执行的每一个步骤语句。

显然,这远不能满足我们的需要。

那么,自己动手编写可以随意控制的程序以满足更高的需求,就是这一节课教给我的东西。

一、Sub过程1、过程过程就是一个小程序,是一组相关操作命令的组合,即一个过程就是一组完成所需操作的VBA代码的组合。

VBA中每一个程序都包含过程,且VBA的主体结构就是过程。

VBA的过程主要包括Sub过程和Function过程两种,两种过程的区别在于:Sub过程不可以返回程序运行的值,Function过程可以返回程序的运行值,即前者不可以返回值,后者可以返回值。

本次课主要学习的是Sub过程。

2、声明Sub过程录制的宏就是一个简单的Sub过程,使用录制宏功能只能生成Sub过程的代码。

在示例1中通过录制宏功能,得到如下代码:通过观察比较以上的两个宏代码,可以发现Sub过程的特点:(1)以“Sub过程名()”开头,以“End Sub”结尾;(2)Sub过程一般保存在“模块”里;(3)不返回运行结果。

声明Sub过程的语法形式为:[Public | Private | Friend] [Static]Sub过程名称([参数1,参数2……]) [语句块][Exit Sub][语句块]End Sub其中,[]中括号括起来的部分表示可选的参数,如[Public | Private | Friend]、[Static]等,这些关键字与作用的范围有关,只能选择一个,含义分别为:(1)Public表示声明的过程是一个公共的过程,即该工作簿中的其它模块中的过程也可以访问声明的这个过程;(2)Private表示声明的过程是一个私有的过程,只有在同一个模块中的其它过程才可以访问声明的这个过程。

(3)Friend用在类模块里。

(4)Static是静态的意思,表示声明的过程中的局部变量将被保存,在下次调用的时候仍保存原来的值。

蓝色部分的Sub过程名称()、End Sub是必须的,分别标明过程的开始和结束。

括号里的[参数1,参数2……]是一系列的变量,以逗号分隔将传递的参数值,如果过程没有任何参数,可以省略,如以上录制的两个宏都是没有参数的Sub过程。

[Exit Sub]表示在过程结束之前强制退出。

3、试着编写一个Sub过程新打开的VBE编辑器,在工程资源管理中的空白处单击右键,选择“插入→模块”,便新建了一个模块。

可以在同一个模块里编写多个过程,也可以保存在不同的模块中。

双击“模块1”,便可在右边的代码窗口编写Sub过程。

在模块中创建一个名为“mysub”的Sub过程如下:同时,将光标定位至代码中,点击鼠标右键,选择Smart Indent→Indent Procedure,调整代码的缩进,如图:调整后,如下:将光标定位至此代码中,点击工具栏中的“运行子过程/用户窗体”按钮,或按快捷键F5,运行此过程,弹出一个对话框,如下图:此过程中并未设定Public或Private等显示关键字,则按照缺省的情况为Public过程,即默认为公共的过程。

如果不打算公开某个过程,则要在Sub前面加Private关键字,定义为私有过程。

在刚才建立的模块中建立一个名为“siyou”的私有过程并运行如下:4、从过程执行另一个过程上面的两个过程都只有一行代码,诚然VBA并没有限定代码的行数,可以在一个过程里编写成千上万条代码,但随着代码行数的增加,错误也可能会增加。

因此,将很长的代码分拆到多个过程里,通过创建一些小型过程代替单个的大型过程,是一种很好的编程习惯。

从过程执行另一个过程共有三种方法。

(1)输入过程名称以及参数,参数用逗号隔开;过程名[,参数1,参数2,…]在刚才的模块中建立一个名为“test”的过程,调用执行“mysub”过程,代码如下:将光标定位至代码中执行此过程,便弹出刚才的第一个对话框。

或者将光标定位至上述代码中的mysub之后,点击菜单栏中“工具→宏”,选择执行名为test的宏。

注意到,上面的宏对话框中并没有名为siyou的过程,这是因为此工程是一个私有的过程。

虽然不显示,但仍然可以调用。

(2)在过程名称以及参数前使用Call关键字,参数用括号括起来,并用逗号隔开;Call过程名[(参数1,参数2,…)](3)利用Application对象的Run方法。

Application. Run表示过程名的字符串(或字符串变量)[,参数1,参数2,…]Application. Run “mysub”直接调用过程名,也可以定义一个字符串变量,并将过程名赋值,如Application. Run a。

以上为从过程执行另一个过程的三种方法,都是在同一个模块中调用,如果在其它模块中是否都能调用呢?经尝试后,发现定义为Private的过程在不同的模块中是无法调用的。

二、程序流程控制语句——判断与循环语句是过程的核心,VBA语句按执行顺序可以分为顺序结构语句、判断分支语句和循环语句。

顾名思义,顺序结构语句就是从上到下由程序的第一行执行到最后一行,如赋值和过程调用语句等,录制的宏代码也属于此类语句;判断分支语句也叫结构选择语句,是根据条件,跳过部分语句执行另一部分的语句;循环语句就是重复执行某一段语句。

本次课学习的是判断分支语句和循环语句,判断分支语句主要有If语句和Select Case语句,循环语句主要有For语句和Do 语句。

1、If语句If语句根据条件变量的不同来执行,语句形式为:If逻辑表达式Then语句块1[Else语句块2]End If可以理解为“如果…那么…[否则…]”,其中[Else]是可选部分,程序执行时,先运行“逻辑表达式”,如果为真,则执行语句块1,如果为假,则执行Else部分的语句块2,同时If语句也可以嵌套使用。

分开表述如下:(1)If-Then语句结构为:If逻辑表达式Then语句块End If可以理解为“如果…那么…”,如果逻辑表达式的结果为True,则执行语句块里的所有语句,否则执行End If后面的语句。

其中语句块可以是一句指令或多条指令,也可以调用一个或多个过程,当然也可以为空,即没有语句。

当语句块比较简单的时候,可以省略“End If”,如If逻辑表达式Then语句块此语句的执行流程可用下图表示:(2)If-Then-Else语句结构为:If逻辑表达式Then语句块1Else语句块2End If可以理解为“如果…那么…否则…”,如果逻辑表达式的结果为True,则执行语句块1里的所有语句,否则执行语句2里的所有语句。

(3)If-Then-ElseIf语句结构为:If逻辑表达式1 Then语句块1ElseIf逻辑表达式2 Then语句块2ElseIf逻辑表达式3 Then语句块3…Else语句块nEnd If可以理解为“如果…那么…否则如果…那么…否则…”,可以有多句“否则如果…”,若逻辑表达式1的结果为True,则执行语句块1,截至继续执行End If后面的语句;若逻辑表达式1的结果为False,则检查逻辑表达式2的结果,若为True则执行语句块2,接着继续执行End If后面的语句……,一直到所有结果的条件都不满足时,才执行Else后面的语句块n。

2、Select Case语句Select Case语句同If语句一样,也是条件判断的语句,其功能也可以用If语句来完成。

但是,当程序的条件太多,用If语句来判断就存在一些不足了,比如程序是否美观、是否便于阅读、程序的执行效率等。

Select Case语句在执行的效率上,比If语句要快得多,同时更加简洁明了,也更加适合设计多种选择。

而通常情况下只把If 语句用在二元判定上。

Select Case语句的结构为:Select Case测试表达式Case表达式列表1语句块1Case表达式列表2语句块2Case表达式列表3语句块3…Case表达式列表n语句块n[Case Else语句块n+1]End Select对以上结构的说明:(1)测试表达式必须为数值表达式或字符串表达式;(2)表达式列表可以是用逗号分开的表达式,也可以使用To 或Is关键字,如:Case 1, 2, 3, 4Case 1 To 4Case Is < = 4(3)Case语句后面可以使用多重表达式,各表达式的数据类型可以不相同,之间是“逻辑或”的关系,如:Case 1 To 4, “a”在执行程序的时候,不管满足于哪一个条件,都会执行相关的语句块。

首先,根据测试表达式的值进行判断,如果与表达式列表1相匹配,则执行语句块1,跳过其它Case的语句,执行End Select后面的语句;如果测试表达式的值与表达式列表1不匹配,则判断其与表达式列表2是否匹配,如若匹配,则执行语句块2,并跳过其它的语句,执行End Select后面的语句……,依次类推,如果测试表达式的值与表达式列表1—n都不匹配,则执行语句块n+1,如果没有[Case Else 语句块n+1],则直接执行End Select后面的语句。

因为Select Case语句只要执行了一个匹配的语句就会退出判断,为最大限度的提高有效性,在编写程序时应该把最有可能发生的情况写在最前面。

3、For-Next循环语句结构为:For循环变量=初值To终值[Step步长]循环体[Exit For]循环体Next[循环变量]其中[Step步长]为步长值,可以为正数,也可以为负数,但不能为0,当步长值为正数时,初值要小于终值,当步长值为负数时,终值要大于终值,当步长值省略时默认为1。

循环语句的执行次数取决于循环变量的初值、终值和步长。

[Exit For]为强制终止循环的语句,执行后将退出循环,执行Next 后面的语句。

另外,可在Next的上面一行加入语句Debug. Print i在立即窗口中查看循环变量值的变化,便于理解变量的执行过程。

循环变量是一个变量,可以在循环体中对其进行修改。

For-Next 语句的执行流程可用下图表示:4、For Each-Next循环语句结构为:For Each元素变量In对象集合语句块[Exit For]语句块Next[元素变量]和For-Next循环语句的句式基本相同,只是第一句的元素变量是用来遍历集合或数组中的所有元素的变量,它从集合或数组中的第一个元素开始,直到最后一个元素,执行语句块,然后退出循环后再执行Next后面的语句,同时可以在循环语句中加入一个或多个[Exit For]来终止循环。

相关文档
最新文档