ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E文精选 > Excel VBA > VBA入门指南-程序结构类关键字

VBA入门指南-程序结构类关键字

作者:绿色风 分类: 时间:2022-08-17 浏览:182
楼主
omnw
  IF...ELSE...END IF:分支判断选择语句;
  DO WHILE...LOOP:先判断后执行循环语句;
  DO...LOOP WHILE:先执行后判断循环语句;
  FOR...NEXT:限定次数循环语句;
  GOTO...:无条件转移语句。
  今天我想主要谈谈程序结构问题。所谓程序结构,就是指程序代码的执行顺序,按照执行顺序的不同我们将程序结构大致分为以下三类:顺序结构、分支判断选择结构和循环结构。基本上我们目前能接触到的语句结构都离不了这三种类别。
  先讲第一类,顺序结构。这类语句是按照程序代码书写的先后顺序一句一句从前往后顺序执行的,这类语句结构是最简单且容易理解的一类。那么如何才算一个完整的语句结束呢?这在不同的编程语言环境中是不尽相同的,比如C语言中以分号作为每个语句的结束标志,而VBA中,则以换行符作为一个语句的结束标志,换句话说,只要在同一行书写,哪怕再多的代码都被看作一条语句来执行。
  第二类是分支判断选择结构。这类结构并不像顺序结构那样按顺序逐条执行代码,而需要按照判断语句的结果对各条分支语句进行选择执行,所以需要通过分支判断选择语句,对本结构代码加以控制执行。例如,“IF...ELSE...END IF”,这条语句以“IF”开始,至“END IF”结束,其中在IF所在行书写判断的条件表达式,“IF”和“ELSE”之间书写条件表达式为“真”时执行的代码,“ELSE”和“END IF”之间书写条件表达式为“假”时执行的代码。实例如下:
IF 条件
THEN

  语句1
ELSE
  语句2
END IF
在这里实例程序中,就体现了一个典型的分支判断选择结构,程序是这样执行的:当程序执行到IF语句时,系统会计算条件表达式的值,如果该值为“真”(即条件成立),那么就执行语句1,然后结束该IF结构去执行END IF后面的代码;如果该值为“假”(即条件不成立),那么就执行语句2,然后结束该IF结构去执行END IF后面的代码。所以通过这里实例可以看出,在分支判断选择结构中包含的语句不是每一个都被执行到的,其执行与否、何时执行由条件表达式控制。1IF条件语句可以区分2种情况下的执行代码,那么多于2种情况该怎么办呢?可以通过在IF语句中嵌套IF语句来实现多条件判断执行的效果。实例如下:
IF 条件1
THEN

  语句1
ELSE

IF
条件2
THEN

    语句2

ELSE

    语句3

END IF

END IF
这和EXCEL中的IF函数的嵌套类似。除了IF语句外,该类结构还有一条语句,也可以实现多条件的分支判断选择结构,即:
SELECT CASE 条件

CASE
1

    语句1

CASE
2

    语句2

CASE ...


...


ELSE CASE

    语句3
END SELECT
这里通过计算条件表达式的值与各分支语句中的值进行比较来选择具体到哪个分支中执行相应的代码。
  第三类是循环结构。和第二类分支结构类似,循环结构也需要通过循环语句来控制程序代码的执行。按照循环条件的位置和计算方法不同,循环语句大致分为如下三种:
DO WHILE...LOOP:先判断后执行循环语句;
DO...LOOP WHILE:先执行后判断循环语句;
FOR...NEXT:限定次数循环语句;
2类是不限定次数或者在代码执行前无法确切指定循环次数的循环控制语句。实例程序分别为:
DO WHILE 条件
  语句1
  语句2
LOOP
这类语句先判断条件表达式的值,然后根据该值决定是否进入或继续执行循环体内部的语句12
DO
  语句1
  语句2
LOOP WHILE 条件
这类语句先执行循环体内部的语句12,然后进一步根据条件表达式的值决定是否再次回到DO语句继续执行循环体内的语句。
3类是限定循环执行次数的循环语句。实例程序为:
FOR 控制变量=1 TO N STEP 步长
  语句
NEXT
这里通过每次循环后控制变量的自动增加步长值,然后与最大值N比较,来决定是否继续执行循环体内的语句。
循环语句也是可以嵌套使用的。无论分支结构还是循环结构的控制语句,都会打乱原先执行的语句顺序,从而给理解和维护代码带来困难,因此要恰当利用这些结构控制语句,并加上相关注释,以防代码出现错误或今后理解困难。
  还有一条语句,称为无条件转移控制语句,即GOTO 转移地址名称,这条语句可以方便编程人员在无法确知转移条件和难于控制时将程序执行顺序强制转移到指定的地址。由于是无条件转移,这种情况中存在着编程人员的主管随意性,因此必须加上必要的注释,并尽量少用,以避免今后程序理解和维护的困难。
  至此,我们已经将VBA代码中常见的关键字都一一讲解完毕了,想必大家今后在看到程序中的那些E文的时候也大致能知道这个属于什么类型的关键字、在这个位置有什么作用了。
2楼
亮少
正好在找这方面的资料。谢谢!
3楼
zhyou
一个字“好”,两个字“谢谢”!
4楼
young.zhang
全部看完了,非常感谢!
5楼
xaweiyx
非常感谢
6楼
hbhhl
非常感谢!
7楼
海绵宝宝
好文章,VB中的控制语句框架齐了


为何我不能给你的帖子评分呢,评分按钮在哪里啊
8楼
老糊涂
好资料
9楼
omnw
  IF...ELSE...END IF:分支判断选择语句;
  DO WHILE...LOOP:先判断后执行循环语句;
  DO...LOOP WHILE:先执行后判断循环语句;
  FOR...NEXT:限定次数循环语句;
  GOTO...:无条件转移语句。
  今天我想主要谈谈程序结构问题。所谓程序结构,就是指程序代码的执行顺序,按照执行顺序的不同我们将程序结构大致分为以下三类:顺序结构、分支判断选择结构和循环结构。基本上我们目前能接触到的语句结构都离不了这三种类别。
  先讲第一类,顺序结构。这类语句是按照程序代码书写的先后顺序一句一句从前往后顺序执行的,这类语句结构是最简单且容易理解的一类。那么如何才算一个完整的语句结束呢?这在不同的编程语言环境中是不尽相同的,比如C语言中以分号作为每个语句的结束标志,而VBA中,则以换行符作为一个语句的结束标志,换句话说,只要在同一行书写,哪怕再多的代码都被看作一条语句来执行。
  第二类是分支判断选择结构。这类结构并不像顺序结构那样按顺序逐条执行代码,而需要按照判断语句的结果对各条分支语句进行选择执行,所以需要通过分支判断选择语句,对本结构代码加以控制执行。例如,“IF...ELSE...END IF”,这条语句以“IF”开始,至“END IF”结束,其中在IF所在行书写判断的条件表达式,“IF”和“ELSE”之间书写条件表达式为“真”时执行的代码,“ELSE”和“END IF”之间书写条件表达式为“假”时执行的代码。实例如下:
IF 条件
THEN

  语句1
ELSE
  语句2
END IF
在这里实例程序中,就体现了一个典型的分支判断选择结构,程序是这样执行的:当程序执行到IF语句时,系统会计算条件表达式的值,如果该值为“真”(即条件成立),那么就执行语句1,然后结束该IF结构去执行END IF后面的代码;如果该值为“假”(即条件不成立),那么就执行语句2,然后结束该IF结构去执行END IF后面的代码。所以通过这里实例可以看出,在分支判断选择结构中包含的语句不是每一个都被执行到的,其执行与否、何时执行由条件表达式控制。1IF条件语句可以区分2种情况下的执行代码,那么多于2种情况该怎么办呢?可以通过在IF语句中嵌套IF语句来实现多条件判断执行的效果。实例如下:
IF 条件1
THEN

  语句1
ELSE

IF
条件2
THEN

    语句2

ELSE

    语句3

END IF

END IF
这和EXCEL中的IF函数的嵌套类似。除了IF语句外,该类结构还有一条语句,也可以实现多条件的分支判断选择结构,即:
SELECT CASE 条件

CASE
1

    语句1

CASE
2

    语句2

CASE ...


...


ELSE CASE

    语句3
END SELECT
这里通过计算条件表达式的值与各分支语句中的值进行比较来选择具体到哪个分支中执行相应的代码。
  第三类是循环结构。和第二类分支结构类似,循环结构也需要通过循环语句来控制程序代码的执行。按照循环条件的位置和计算方法不同,循环语句大致分为如下三种:
DO WHILE...LOOP:先判断后执行循环语句;
DO...LOOP WHILE:先执行后判断循环语句;
FOR...NEXT:限定次数循环语句;
2类是不限定次数或者在代码执行前无法确切指定循环次数的循环控制语句。实例程序分别为:
DO WHILE 条件
  语句1
  语句2
LOOP
这类语句先判断条件表达式的值,然后根据该值决定是否进入或继续执行循环体内部的语句12
DO
  语句1
  语句2
LOOP WHILE 条件
这类语句先执行循环体内部的语句12,然后进一步根据条件表达式的值决定是否再次回到DO语句继续执行循环体内的语句。
3类是限定循环执行次数的循环语句。实例程序为:
FOR 控制变量=1 TO N STEP 步长
  语句
NEXT
这里通过每次循环后控制变量的自动增加步长值,然后与最大值N比较,来决定是否继续执行循环体内的语句。
循环语句也是可以嵌套使用的。无论分支结构还是循环结构的控制语句,都会打乱原先执行的语句顺序,从而给理解和维护代码带来困难,因此要恰当利用这些结构控制语句,并加上相关注释,以防代码出现错误或今后理解困难。
  还有一条语句,称为无条件转移控制语句,即GOTO 转移地址名称,这条语句可以方便编程人员在无法确知转移条件和难于控制时将程序执行顺序强制转移到指定的地址。由于是无条件转移,这种情况中存在着编程人员的主管随意性,因此必须加上必要的注释,并尽量少用,以避免今后程序理解和维护的困难。
  至此,我们已经将VBA代码中常见的关键字都一一讲解完毕了,想必大家今后在看到程序中的那些E文的时候也大致能知道这个属于什么类型的关键字、在这个位置有什么作用了。
10楼
亮少
正好在找这方面的资料。谢谢!
11楼
zhyou
一个字“好”,两个字“谢谢”!
12楼
young.zhang
全部看完了,非常感谢!
13楼
xaweiyx
非常感谢
14楼
hbhhl
非常感谢!
15楼
海绵宝宝
好文章,VB中的控制语句框架齐了


为何我不能给你的帖子评分呢,评分按钮在哪里啊
16楼
老糊涂
好资料
17楼
omnw
  IF...ELSE...END IF:分支判断选择语句;
  DO WHILE...LOOP:先判断后执行循环语句;
  DO...LOOP WHILE:先执行后判断循环语句;
  FOR...NEXT:限定次数循环语句;
  GOTO...:无条件转移语句。
  今天我想主要谈谈程序结构问题。所谓程序结构,就是指程序代码的执行顺序,按照执行顺序的不同我们将程序结构大致分为以下三类:顺序结构、分支判断选择结构和循环结构。基本上我们目前能接触到的语句结构都离不了这三种类别。
  先讲第一类,顺序结构。这类语句是按照程序代码书写的先后顺序一句一句从前往后顺序执行的,这类语句结构是最简单且容易理解的一类。那么如何才算一个完整的语句结束呢?这在不同的编程语言环境中是不尽相同的,比如C语言中以分号作为每个语句的结束标志,而VBA中,则以换行符作为一个语句的结束标志,换句话说,只要在同一行书写,哪怕再多的代码都被看作一条语句来执行。
  第二类是分支判断选择结构。这类结构并不像顺序结构那样按顺序逐条执行代码,而需要按照判断语句的结果对各条分支语句进行选择执行,所以需要通过分支判断选择语句,对本结构代码加以控制执行。例如,“IF...ELSE...END IF”,这条语句以“IF”开始,至“END IF”结束,其中在IF所在行书写判断的条件表达式,“IF”和“ELSE”之间书写条件表达式为“真”时执行的代码,“ELSE”和“END IF”之间书写条件表达式为“假”时执行的代码。实例如下:
IF 条件
THEN

  语句1
ELSE
  语句2
END IF
在这里实例程序中,就体现了一个典型的分支判断选择结构,程序是这样执行的:当程序执行到IF语句时,系统会计算条件表达式的值,如果该值为“真”(即条件成立),那么就执行语句1,然后结束该IF结构去执行END IF后面的代码;如果该值为“假”(即条件不成立),那么就执行语句2,然后结束该IF结构去执行END IF后面的代码。所以通过这里实例可以看出,在分支判断选择结构中包含的语句不是每一个都被执行到的,其执行与否、何时执行由条件表达式控制。1IF条件语句可以区分2种情况下的执行代码,那么多于2种情况该怎么办呢?可以通过在IF语句中嵌套IF语句来实现多条件判断执行的效果。实例如下:
IF 条件1
THEN

  语句1
ELSE

IF
条件2
THEN

    语句2

ELSE

    语句3

END IF

END IF
这和EXCEL中的IF函数的嵌套类似。除了IF语句外,该类结构还有一条语句,也可以实现多条件的分支判断选择结构,即:
SELECT CASE 条件

CASE
1

    语句1

CASE
2

    语句2

CASE ...


...


ELSE CASE

    语句3
END SELECT
这里通过计算条件表达式的值与各分支语句中的值进行比较来选择具体到哪个分支中执行相应的代码。
  第三类是循环结构。和第二类分支结构类似,循环结构也需要通过循环语句来控制程序代码的执行。按照循环条件的位置和计算方法不同,循环语句大致分为如下三种:
DO WHILE...LOOP:先判断后执行循环语句;
DO...LOOP WHILE:先执行后判断循环语句;
FOR...NEXT:限定次数循环语句;
2类是不限定次数或者在代码执行前无法确切指定循环次数的循环控制语句。实例程序分别为:
DO WHILE 条件
  语句1
  语句2
LOOP
这类语句先判断条件表达式的值,然后根据该值决定是否进入或继续执行循环体内部的语句12
DO
  语句1
  语句2
LOOP WHILE 条件
这类语句先执行循环体内部的语句12,然后进一步根据条件表达式的值决定是否再次回到DO语句继续执行循环体内的语句。
3类是限定循环执行次数的循环语句。实例程序为:
FOR 控制变量=1 TO N STEP 步长
  语句
NEXT
这里通过每次循环后控制变量的自动增加步长值,然后与最大值N比较,来决定是否继续执行循环体内的语句。
循环语句也是可以嵌套使用的。无论分支结构还是循环结构的控制语句,都会打乱原先执行的语句顺序,从而给理解和维护代码带来困难,因此要恰当利用这些结构控制语句,并加上相关注释,以防代码出现错误或今后理解困难。
  还有一条语句,称为无条件转移控制语句,即GOTO 转移地址名称,这条语句可以方便编程人员在无法确知转移条件和难于控制时将程序执行顺序强制转移到指定的地址。由于是无条件转移,这种情况中存在着编程人员的主管随意性,因此必须加上必要的注释,并尽量少用,以避免今后程序理解和维护的困难。
  至此,我们已经将VBA代码中常见的关键字都一一讲解完毕了,想必大家今后在看到程序中的那些E文的时候也大致能知道这个属于什么类型的关键字、在这个位置有什么作用了。
18楼
亮少
正好在找这方面的资料。谢谢!
19楼
zhyou
一个字“好”,两个字“谢谢”!
20楼
young.zhang
全部看完了,非常感谢!
21楼
xaweiyx
非常感谢
22楼
hbhhl
非常感谢!
23楼
海绵宝宝
好文章,VB中的控制语句框架齐了


为何我不能给你的帖子评分呢,评分按钮在哪里啊
24楼
老糊涂
好资料
25楼
omnw
  IF...ELSE...END IF:分支判断选择语句;
  DO WHILE...LOOP:先判断后执行循环语句;
  DO...LOOP WHILE:先执行后判断循环语句;
  FOR...NEXT:限定次数循环语句;
  GOTO...:无条件转移语句。
  今天我想主要谈谈程序结构问题。所谓程序结构,就是指程序代码的执行顺序,按照执行顺序的不同我们将程序结构大致分为以下三类:顺序结构、分支判断选择结构和循环结构。基本上我们目前能接触到的语句结构都离不了这三种类别。
  先讲第一类,顺序结构。这类语句是按照程序代码书写的先后顺序一句一句从前往后顺序执行的,这类语句结构是最简单且容易理解的一类。那么如何才算一个完整的语句结束呢?这在不同的编程语言环境中是不尽相同的,比如C语言中以分号作为每个语句的结束标志,而VBA中,则以换行符作为一个语句的结束标志,换句话说,只要在同一行书写,哪怕再多的代码都被看作一条语句来执行。
  第二类是分支判断选择结构。这类结构并不像顺序结构那样按顺序逐条执行代码,而需要按照判断语句的结果对各条分支语句进行选择执行,所以需要通过分支判断选择语句,对本结构代码加以控制执行。例如,“IF...ELSE...END IF”,这条语句以“IF”开始,至“END IF”结束,其中在IF所在行书写判断的条件表达式,“IF”和“ELSE”之间书写条件表达式为“真”时执行的代码,“ELSE”和“END IF”之间书写条件表达式为“假”时执行的代码。实例如下:
IF 条件
THEN

  语句1
ELSE
  语句2
END IF
在这里实例程序中,就体现了一个典型的分支判断选择结构,程序是这样执行的:当程序执行到IF语句时,系统会计算条件表达式的值,如果该值为“真”(即条件成立),那么就执行语句1,然后结束该IF结构去执行END IF后面的代码;如果该值为“假”(即条件不成立),那么就执行语句2,然后结束该IF结构去执行END IF后面的代码。所以通过这里实例可以看出,在分支判断选择结构中包含的语句不是每一个都被执行到的,其执行与否、何时执行由条件表达式控制。1IF条件语句可以区分2种情况下的执行代码,那么多于2种情况该怎么办呢?可以通过在IF语句中嵌套IF语句来实现多条件判断执行的效果。实例如下:
IF 条件1
THEN

  语句1
ELSE

IF
条件2
THEN

    语句2

ELSE

    语句3

END IF

END IF
这和EXCEL中的IF函数的嵌套类似。除了IF语句外,该类结构还有一条语句,也可以实现多条件的分支判断选择结构,即:
SELECT CASE 条件

CASE
1

    语句1

CASE
2

    语句2

CASE ...


...


ELSE CASE

    语句3
END SELECT
这里通过计算条件表达式的值与各分支语句中的值进行比较来选择具体到哪个分支中执行相应的代码。
  第三类是循环结构。和第二类分支结构类似,循环结构也需要通过循环语句来控制程序代码的执行。按照循环条件的位置和计算方法不同,循环语句大致分为如下三种:
DO WHILE...LOOP:先判断后执行循环语句;
DO...LOOP WHILE:先执行后判断循环语句;
FOR...NEXT:限定次数循环语句;
2类是不限定次数或者在代码执行前无法确切指定循环次数的循环控制语句。实例程序分别为:
DO WHILE 条件
  语句1
  语句2
LOOP
这类语句先判断条件表达式的值,然后根据该值决定是否进入或继续执行循环体内部的语句12
DO
  语句1
  语句2
LOOP WHILE 条件
这类语句先执行循环体内部的语句12,然后进一步根据条件表达式的值决定是否再次回到DO语句继续执行循环体内的语句。
3类是限定循环执行次数的循环语句。实例程序为:
FOR 控制变量=1 TO N STEP 步长
  语句
NEXT
这里通过每次循环后控制变量的自动增加步长值,然后与最大值N比较,来决定是否继续执行循环体内的语句。
循环语句也是可以嵌套使用的。无论分支结构还是循环结构的控制语句,都会打乱原先执行的语句顺序,从而给理解和维护代码带来困难,因此要恰当利用这些结构控制语句,并加上相关注释,以防代码出现错误或今后理解困难。
  还有一条语句,称为无条件转移控制语句,即GOTO 转移地址名称,这条语句可以方便编程人员在无法确知转移条件和难于控制时将程序执行顺序强制转移到指定的地址。由于是无条件转移,这种情况中存在着编程人员的主管随意性,因此必须加上必要的注释,并尽量少用,以避免今后程序理解和维护的困难。
  至此,我们已经将VBA代码中常见的关键字都一一讲解完毕了,想必大家今后在看到程序中的那些E文的时候也大致能知道这个属于什么类型的关键字、在这个位置有什么作用了。
26楼
亮少
正好在找这方面的资料。谢谢!
27楼
zhyou
一个字“好”,两个字“谢谢”!
28楼
young.zhang
全部看完了,非常感谢!
29楼
xaweiyx
非常感谢
30楼
hbhhl
非常感谢!
31楼
海绵宝宝
好文章,VB中的控制语句框架齐了


为何我不能给你的帖子评分呢,评分按钮在哪里啊
32楼
老糊涂
好资料
33楼
omnw
  IF...ELSE...END IF:分支判断选择语句;
  DO WHILE...LOOP:先判断后执行循环语句;
  DO...LOOP WHILE:先执行后判断循环语句;
  FOR...NEXT:限定次数循环语句;
  GOTO...:无条件转移语句。
  今天我想主要谈谈程序结构问题。所谓程序结构,就是指程序代码的执行顺序,按照执行顺序的不同我们将程序结构大致分为以下三类:顺序结构、分支判断选择结构和循环结构。基本上我们目前能接触到的语句结构都离不了这三种类别。
  先讲第一类,顺序结构。这类语句是按照程序代码书写的先后顺序一句一句从前往后顺序执行的,这类语句结构是最简单且容易理解的一类。那么如何才算一个完整的语句结束呢?这在不同的编程语言环境中是不尽相同的,比如C语言中以分号作为每个语句的结束标志,而VBA中,则以换行符作为一个语句的结束标志,换句话说,只要在同一行书写,哪怕再多的代码都被看作一条语句来执行。
  第二类是分支判断选择结构。这类结构并不像顺序结构那样按顺序逐条执行代码,而需要按照判断语句的结果对各条分支语句进行选择执行,所以需要通过分支判断选择语句,对本结构代码加以控制执行。例如,“IF...ELSE...END IF”,这条语句以“IF”开始,至“END IF”结束,其中在IF所在行书写判断的条件表达式,“IF”和“ELSE”之间书写条件表达式为“真”时执行的代码,“ELSE”和“END IF”之间书写条件表达式为“假”时执行的代码。实例如下:
IF 条件
THEN

  语句1
ELSE
  语句2
END IF
在这里实例程序中,就体现了一个典型的分支判断选择结构,程序是这样执行的:当程序执行到IF语句时,系统会计算条件表达式的值,如果该值为“真”(即条件成立),那么就执行语句1,然后结束该IF结构去执行END IF后面的代码;如果该值为“假”(即条件不成立),那么就执行语句2,然后结束该IF结构去执行END IF后面的代码。所以通过这里实例可以看出,在分支判断选择结构中包含的语句不是每一个都被执行到的,其执行与否、何时执行由条件表达式控制。1IF条件语句可以区分2种情况下的执行代码,那么多于2种情况该怎么办呢?可以通过在IF语句中嵌套IF语句来实现多条件判断执行的效果。实例如下:
IF 条件1
THEN

  语句1
ELSE

IF
条件2
THEN

    语句2

ELSE

    语句3

END IF

END IF
这和EXCEL中的IF函数的嵌套类似。除了IF语句外,该类结构还有一条语句,也可以实现多条件的分支判断选择结构,即:
SELECT CASE 条件

CASE
1

    语句1

CASE
2

    语句2

CASE ...


...


ELSE CASE

    语句3
END SELECT
这里通过计算条件表达式的值与各分支语句中的值进行比较来选择具体到哪个分支中执行相应的代码。
  第三类是循环结构。和第二类分支结构类似,循环结构也需要通过循环语句来控制程序代码的执行。按照循环条件的位置和计算方法不同,循环语句大致分为如下三种:
DO WHILE...LOOP:先判断后执行循环语句;
DO...LOOP WHILE:先执行后判断循环语句;
FOR...NEXT:限定次数循环语句;
2类是不限定次数或者在代码执行前无法确切指定循环次数的循环控制语句。实例程序分别为:
DO WHILE 条件
  语句1
  语句2
LOOP
这类语句先判断条件表达式的值,然后根据该值决定是否进入或继续执行循环体内部的语句12
DO
  语句1
  语句2
LOOP WHILE 条件
这类语句先执行循环体内部的语句12,然后进一步根据条件表达式的值决定是否再次回到DO语句继续执行循环体内的语句。
3类是限定循环执行次数的循环语句。实例程序为:
FOR 控制变量=1 TO N STEP 步长
  语句
NEXT
这里通过每次循环后控制变量的自动增加步长值,然后与最大值N比较,来决定是否继续执行循环体内的语句。
循环语句也是可以嵌套使用的。无论分支结构还是循环结构的控制语句,都会打乱原先执行的语句顺序,从而给理解和维护代码带来困难,因此要恰当利用这些结构控制语句,并加上相关注释,以防代码出现错误或今后理解困难。
  还有一条语句,称为无条件转移控制语句,即GOTO 转移地址名称,这条语句可以方便编程人员在无法确知转移条件和难于控制时将程序执行顺序强制转移到指定的地址。由于是无条件转移,这种情况中存在着编程人员的主管随意性,因此必须加上必要的注释,并尽量少用,以避免今后程序理解和维护的困难。
  至此,我们已经将VBA代码中常见的关键字都一一讲解完毕了,想必大家今后在看到程序中的那些E文的时候也大致能知道这个属于什么类型的关键字、在这个位置有什么作用了。
34楼
亮少
正好在找这方面的资料。谢谢!
35楼
zhyou
一个字“好”,两个字“谢谢”!
36楼
young.zhang
全部看完了,非常感谢!
37楼
xaweiyx
非常感谢
38楼
hbhhl
非常感谢!
39楼
海绵宝宝
好文章,VB中的控制语句框架齐了


为何我不能给你的帖子评分呢,评分按钮在哪里啊
40楼
老糊涂
好资料
41楼
omnw
  IF...ELSE...END IF:分支判断选择语句;
  DO WHILE...LOOP:先判断后执行循环语句;
  DO...LOOP WHILE:先执行后判断循环语句;
  FOR...NEXT:限定次数循环语句;
  GOTO...:无条件转移语句。
  今天我想主要谈谈程序结构问题。所谓程序结构,就是指程序代码的执行顺序,按照执行顺序的不同我们将程序结构大致分为以下三类:顺序结构、分支判断选择结构和循环结构。基本上我们目前能接触到的语句结构都离不了这三种类别。
  先讲第一类,顺序结构。这类语句是按照程序代码书写的先后顺序一句一句从前往后顺序执行的,这类语句结构是最简单且容易理解的一类。那么如何才算一个完整的语句结束呢?这在不同的编程语言环境中是不尽相同的,比如C语言中以分号作为每个语句的结束标志,而VBA中,则以换行符作为一个语句的结束标志,换句话说,只要在同一行书写,哪怕再多的代码都被看作一条语句来执行。
  第二类是分支判断选择结构。这类结构并不像顺序结构那样按顺序逐条执行代码,而需要按照判断语句的结果对各条分支语句进行选择执行,所以需要通过分支判断选择语句,对本结构代码加以控制执行。例如,“IF...ELSE...END IF”,这条语句以“IF”开始,至“END IF”结束,其中在IF所在行书写判断的条件表达式,“IF”和“ELSE”之间书写条件表达式为“真”时执行的代码,“ELSE”和“END IF”之间书写条件表达式为“假”时执行的代码。实例如下:
IF 条件
THEN

  语句1
ELSE
  语句2
END IF
在这里实例程序中,就体现了一个典型的分支判断选择结构,程序是这样执行的:当程序执行到IF语句时,系统会计算条件表达式的值,如果该值为“真”(即条件成立),那么就执行语句1,然后结束该IF结构去执行END IF后面的代码;如果该值为“假”(即条件不成立),那么就执行语句2,然后结束该IF结构去执行END IF后面的代码。所以通过这里实例可以看出,在分支判断选择结构中包含的语句不是每一个都被执行到的,其执行与否、何时执行由条件表达式控制。1IF条件语句可以区分2种情况下的执行代码,那么多于2种情况该怎么办呢?可以通过在IF语句中嵌套IF语句来实现多条件判断执行的效果。实例如下:
IF 条件1
THEN

  语句1
ELSE

IF
条件2
THEN

    语句2

ELSE

    语句3

END IF

END IF
这和EXCEL中的IF函数的嵌套类似。除了IF语句外,该类结构还有一条语句,也可以实现多条件的分支判断选择结构,即:
SELECT CASE 条件

CASE
1

    语句1

CASE
2

    语句2

CASE ...


...


ELSE CASE

    语句3
END SELECT
这里通过计算条件表达式的值与各分支语句中的值进行比较来选择具体到哪个分支中执行相应的代码。
  第三类是循环结构。和第二类分支结构类似,循环结构也需要通过循环语句来控制程序代码的执行。按照循环条件的位置和计算方法不同,循环语句大致分为如下三种:
DO WHILE...LOOP:先判断后执行循环语句;
DO...LOOP WHILE:先执行后判断循环语句;
FOR...NEXT:限定次数循环语句;
2类是不限定次数或者在代码执行前无法确切指定循环次数的循环控制语句。实例程序分别为:
DO WHILE 条件
  语句1
  语句2
LOOP
这类语句先判断条件表达式的值,然后根据该值决定是否进入或继续执行循环体内部的语句12
DO
  语句1
  语句2
LOOP WHILE 条件
这类语句先执行循环体内部的语句12,然后进一步根据条件表达式的值决定是否再次回到DO语句继续执行循环体内的语句。
3类是限定循环执行次数的循环语句。实例程序为:
FOR 控制变量=1 TO N STEP 步长
  语句
NEXT
这里通过每次循环后控制变量的自动增加步长值,然后与最大值N比较,来决定是否继续执行循环体内的语句。
循环语句也是可以嵌套使用的。无论分支结构还是循环结构的控制语句,都会打乱原先执行的语句顺序,从而给理解和维护代码带来困难,因此要恰当利用这些结构控制语句,并加上相关注释,以防代码出现错误或今后理解困难。
  还有一条语句,称为无条件转移控制语句,即GOTO 转移地址名称,这条语句可以方便编程人员在无法确知转移条件和难于控制时将程序执行顺序强制转移到指定的地址。由于是无条件转移,这种情况中存在着编程人员的主管随意性,因此必须加上必要的注释,并尽量少用,以避免今后程序理解和维护的困难。
  至此,我们已经将VBA代码中常见的关键字都一一讲解完毕了,想必大家今后在看到程序中的那些E文的时候也大致能知道这个属于什么类型的关键字、在这个位置有什么作用了。
42楼
亮少
正好在找这方面的资料。谢谢!
43楼
zhyou
一个字“好”,两个字“谢谢”!
44楼
young.zhang
全部看完了,非常感谢!
45楼
xaweiyx
非常感谢
46楼
hbhhl
非常感谢!
47楼
海绵宝宝
好文章,VB中的控制语句框架齐了


为何我不能给你的帖子评分呢,评分按钮在哪里啊
48楼
老糊涂
好资料
49楼
omnw
  IF...ELSE...END IF:分支判断选择语句;
  DO WHILE...LOOP:先判断后执行循环语句;
  DO...LOOP WHILE:先执行后判断循环语句;
  FOR...NEXT:限定次数循环语句;
  GOTO...:无条件转移语句。
  今天我想主要谈谈程序结构问题。所谓程序结构,就是指程序代码的执行顺序,按照执行顺序的不同我们将程序结构大致分为以下三类:顺序结构、分支判断选择结构和循环结构。基本上我们目前能接触到的语句结构都离不了这三种类别。
  先讲第一类,顺序结构。这类语句是按照程序代码书写的先后顺序一句一句从前往后顺序执行的,这类语句结构是最简单且容易理解的一类。那么如何才算一个完整的语句结束呢?这在不同的编程语言环境中是不尽相同的,比如C语言中以分号作为每个语句的结束标志,而VBA中,则以换行符作为一个语句的结束标志,换句话说,只要在同一行书写,哪怕再多的代码都被看作一条语句来执行。
  第二类是分支判断选择结构。这类结构并不像顺序结构那样按顺序逐条执行代码,而需要按照判断语句的结果对各条分支语句进行选择执行,所以需要通过分支判断选择语句,对本结构代码加以控制执行。例如,“IF...ELSE...END IF”,这条语句以“IF”开始,至“END IF”结束,其中在IF所在行书写判断的条件表达式,“IF”和“ELSE”之间书写条件表达式为“真”时执行的代码,“ELSE”和“END IF”之间书写条件表达式为“假”时执行的代码。实例如下:
IF 条件
THEN

  语句1
ELSE
  语句2
END IF
在这里实例程序中,就体现了一个典型的分支判断选择结构,程序是这样执行的:当程序执行到IF语句时,系统会计算条件表达式的值,如果该值为“真”(即条件成立),那么就执行语句1,然后结束该IF结构去执行END IF后面的代码;如果该值为“假”(即条件不成立),那么就执行语句2,然后结束该IF结构去执行END IF后面的代码。所以通过这里实例可以看出,在分支判断选择结构中包含的语句不是每一个都被执行到的,其执行与否、何时执行由条件表达式控制。1IF条件语句可以区分2种情况下的执行代码,那么多于2种情况该怎么办呢?可以通过在IF语句中嵌套IF语句来实现多条件判断执行的效果。实例如下:
IF 条件1
THEN

  语句1
ELSE

IF
条件2
THEN

    语句2

ELSE

    语句3

END IF

END IF
这和EXCEL中的IF函数的嵌套类似。除了IF语句外,该类结构还有一条语句,也可以实现多条件的分支判断选择结构,即:
SELECT CASE 条件

CASE
1

    语句1

CASE
2

    语句2

CASE ...


...


ELSE CASE

    语句3
END SELECT
这里通过计算条件表达式的值与各分支语句中的值进行比较来选择具体到哪个分支中执行相应的代码。
  第三类是循环结构。和第二类分支结构类似,循环结构也需要通过循环语句来控制程序代码的执行。按照循环条件的位置和计算方法不同,循环语句大致分为如下三种:
DO WHILE...LOOP:先判断后执行循环语句;
DO...LOOP WHILE:先执行后判断循环语句;
FOR...NEXT:限定次数循环语句;
2类是不限定次数或者在代码执行前无法确切指定循环次数的循环控制语句。实例程序分别为:
DO WHILE 条件
  语句1
  语句2
LOOP
这类语句先判断条件表达式的值,然后根据该值决定是否进入或继续执行循环体内部的语句12
DO
  语句1
  语句2
LOOP WHILE 条件
这类语句先执行循环体内部的语句12,然后进一步根据条件表达式的值决定是否再次回到DO语句继续执行循环体内的语句。
3类是限定循环执行次数的循环语句。实例程序为:
FOR 控制变量=1 TO N STEP 步长
  语句
NEXT
这里通过每次循环后控制变量的自动增加步长值,然后与最大值N比较,来决定是否继续执行循环体内的语句。
循环语句也是可以嵌套使用的。无论分支结构还是循环结构的控制语句,都会打乱原先执行的语句顺序,从而给理解和维护代码带来困难,因此要恰当利用这些结构控制语句,并加上相关注释,以防代码出现错误或今后理解困难。
  还有一条语句,称为无条件转移控制语句,即GOTO 转移地址名称,这条语句可以方便编程人员在无法确知转移条件和难于控制时将程序执行顺序强制转移到指定的地址。由于是无条件转移,这种情况中存在着编程人员的主管随意性,因此必须加上必要的注释,并尽量少用,以避免今后程序理解和维护的困难。
  至此,我们已经将VBA代码中常见的关键字都一一讲解完毕了,想必大家今后在看到程序中的那些E文的时候也大致能知道这个属于什么类型的关键字、在这个位置有什么作用了。
50楼
亮少
正好在找这方面的资料。谢谢!
51楼
zhyou
一个字“好”,两个字“谢谢”!
52楼
young.zhang
全部看完了,非常感谢!
53楼
xaweiyx
非常感谢
54楼
hbhhl
非常感谢!
55楼
海绵宝宝
好文章,VB中的控制语句框架齐了


为何我不能给你的帖子评分呢,评分按钮在哪里啊
56楼
老糊涂
好资料
57楼
omnw
  IF...ELSE...END IF:分支判断选择语句;
  DO WHILE...LOOP:先判断后执行循环语句;
  DO...LOOP WHILE:先执行后判断循环语句;
  FOR...NEXT:限定次数循环语句;
  GOTO...:无条件转移语句。
  今天我想主要谈谈程序结构问题。所谓程序结构,就是指程序代码的执行顺序,按照执行顺序的不同我们将程序结构大致分为以下三类:顺序结构、分支判断选择结构和循环结构。基本上我们目前能接触到的语句结构都离不了这三种类别。
  先讲第一类,顺序结构。这类语句是按照程序代码书写的先后顺序一句一句从前往后顺序执行的,这类语句结构是最简单且容易理解的一类。那么如何才算一个完整的语句结束呢?这在不同的编程语言环境中是不尽相同的,比如C语言中以分号作为每个语句的结束标志,而VBA中,则以换行符作为一个语句的结束标志,换句话说,只要在同一行书写,哪怕再多的代码都被看作一条语句来执行。
  第二类是分支判断选择结构。这类结构并不像顺序结构那样按顺序逐条执行代码,而需要按照判断语句的结果对各条分支语句进行选择执行,所以需要通过分支判断选择语句,对本结构代码加以控制执行。例如,“IF...ELSE...END IF”,这条语句以“IF”开始,至“END IF”结束,其中在IF所在行书写判断的条件表达式,“IF”和“ELSE”之间书写条件表达式为“真”时执行的代码,“ELSE”和“END IF”之间书写条件表达式为“假”时执行的代码。实例如下:
IF 条件
THEN

  语句1
ELSE
  语句2
END IF
在这里实例程序中,就体现了一个典型的分支判断选择结构,程序是这样执行的:当程序执行到IF语句时,系统会计算条件表达式的值,如果该值为“真”(即条件成立),那么就执行语句1,然后结束该IF结构去执行END IF后面的代码;如果该值为“假”(即条件不成立),那么就执行语句2,然后结束该IF结构去执行END IF后面的代码。所以通过这里实例可以看出,在分支判断选择结构中包含的语句不是每一个都被执行到的,其执行与否、何时执行由条件表达式控制。1IF条件语句可以区分2种情况下的执行代码,那么多于2种情况该怎么办呢?可以通过在IF语句中嵌套IF语句来实现多条件判断执行的效果。实例如下:
IF 条件1
THEN

  语句1
ELSE

IF
条件2
THEN

    语句2

ELSE

    语句3

END IF

END IF
这和EXCEL中的IF函数的嵌套类似。除了IF语句外,该类结构还有一条语句,也可以实现多条件的分支判断选择结构,即:
SELECT CASE 条件

CASE
1

    语句1

CASE
2

    语句2

CASE ...


...


ELSE CASE

    语句3
END SELECT
这里通过计算条件表达式的值与各分支语句中的值进行比较来选择具体到哪个分支中执行相应的代码。
  第三类是循环结构。和第二类分支结构类似,循环结构也需要通过循环语句来控制程序代码的执行。按照循环条件的位置和计算方法不同,循环语句大致分为如下三种:
DO WHILE...LOOP:先判断后执行循环语句;
DO...LOOP WHILE:先执行后判断循环语句;
FOR...NEXT:限定次数循环语句;
2类是不限定次数或者在代码执行前无法确切指定循环次数的循环控制语句。实例程序分别为:
DO WHILE 条件
  语句1
  语句2
LOOP
这类语句先判断条件表达式的值,然后根据该值决定是否进入或继续执行循环体内部的语句12
DO
  语句1
  语句2
LOOP WHILE 条件
这类语句先执行循环体内部的语句12,然后进一步根据条件表达式的值决定是否再次回到DO语句继续执行循环体内的语句。
3类是限定循环执行次数的循环语句。实例程序为:
FOR 控制变量=1 TO N STEP 步长
  语句
NEXT
这里通过每次循环后控制变量的自动增加步长值,然后与最大值N比较,来决定是否继续执行循环体内的语句。
循环语句也是可以嵌套使用的。无论分支结构还是循环结构的控制语句,都会打乱原先执行的语句顺序,从而给理解和维护代码带来困难,因此要恰当利用这些结构控制语句,并加上相关注释,以防代码出现错误或今后理解困难。
  还有一条语句,称为无条件转移控制语句,即GOTO 转移地址名称,这条语句可以方便编程人员在无法确知转移条件和难于控制时将程序执行顺序强制转移到指定的地址。由于是无条件转移,这种情况中存在着编程人员的主管随意性,因此必须加上必要的注释,并尽量少用,以避免今后程序理解和维护的困难。
  至此,我们已经将VBA代码中常见的关键字都一一讲解完毕了,想必大家今后在看到程序中的那些E文的时候也大致能知道这个属于什么类型的关键字、在这个位置有什么作用了。
58楼
亮少
正好在找这方面的资料。谢谢!
59楼
zhyou
一个字“好”,两个字“谢谢”!
60楼
young.zhang
全部看完了,非常感谢!
61楼
xaweiyx
非常感谢
62楼
hbhhl
非常感谢!
63楼
海绵宝宝
好文章,VB中的控制语句框架齐了


为何我不能给你的帖子评分呢,评分按钮在哪里啊
64楼
老糊涂
好资料

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap