Dzwebs.Net

撰写电脑技术杂文十余年

vba for多重循环举例及如何退出某个嵌套循环

Admin | 2013-4-6 9:36:57 | 被阅次数 | 50026

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

  在VBA当中,同样和编程语言一样,有着for循环语句。其语法为如下:

  For <计数器=开始数> To <结束数> [step 步长]
  [指令]
   [Exit For]
  [指令]
  Next [计数器]

  从开始到结束,反复执行For和Next之间的指令块,除非遇到Exit For语句,将提前跳出循环。其中,步长和Exit For语句以及Next后的计数器均为可选项。

  一般情况下,我们只使用到一个For语句,如果你使用多个For语句,那么就是For语句的嵌套或多重使用了。

  简单的For语句举例如下:

  For k = 1 To 6
    MsgBox ("现在的N值为:" & k)
  Next k

  下面我们给大家介绍多重for语句循环的使用,其中,包括如何退出嵌套语句中的某一个多多重循环。

  For…Next循环中可以再包含For…Next循环,即For…Next循环可以嵌套使用。

  简单的三重for语句为:

  Dim m
  Dim n
  Dim k
  m = 1
  n = 1
  k = 1
  For m = 1 To 6
      For n = 1 To 6
             For k = 1 To 6
                 
             Next k
      Next n
  Next m

  下面,我们来学习如何在多重循环中退出循环跳转至某个循环:要想学习多重循环中如何退出某个循环,我们可以跟踪并输出某个变量的值,就可以追踪到循环运行到哪个位置并退出循环了。

  一、退出第三个循环

  Dim m
  Dim n
  Dim k
  m = 1
  n = 1
  k = 1
  For m = 1 To 6  '第一个循环
      For n = 1 To 6  '第二个循环
              For k = 1 To 6  '第三个循环
                    If (k = 3) Then
                     Exit For
                   End If
              Next k
      Next n
  Next m
  MsgBox ("大众计算机提示您:现在的m值为:" & m & "现在的n值为:" & n & "现在的k值为:" & k)

  此时的m为7、n为7,而k则为3,说明,第一第二个循环完全运行,而第三个循环每次都只运行到k等于3就退出第三个循环了,第三个循环没有完全运行。

  二、退出第二个循环

  Dim m
  Dim n
  Dim k
  m = 1
  n = 1
  k = 1
  For m = 1 To 6  '第一个循环
      For n = 1 To 6  '第二个循环
          If (n = 3) Then
            Exit For
            For k = 1 To 6  '第三个循环
            Next k
          End If
      Next n
  Next m
  MsgBox ("大众计算机提示您,现在的m值为:" & m & "现在的n值为:" & n & "现在的k值为:" & k)

  这个时候,m的值为7,n的值为3,而k的值为1,在这个循环过程中,第一个循环完全执行,第二个循环只执行到n=3就不再运行,而第三个循环一直都不执行。

  三、退出第一个循环

  Dim m
  Dim n
  Dim k
  m = 1
  n = 1
  k = 1
  For m = 1 To 6  '第一个循环
      If (m = 3) Then
      Exit For
      For n = 1 To 6  '第二个循环
        For k = 1 To 6  '第三个循环
        Next k
      Next n
     End If
  Next m
  MsgBox ("大众计算机提示您,现在的m值为:" & m & "现在的n值为:" & n & "现在的k值为:" & k)

  这个时候,m的值为3,n的值为1,而k的值为1,在这个循环过程中,第一个循环只执行到m=3就不再执行了,而第二第三个循环,一直都没有执行。

  综上所述,上面的例子分别给大家列举了三重for循环,如何退出其中的某个循环,在此过程中,仅使用简单的Exit For语句就可以实现了,但是,难点在于,Exit For所放的位置,要配合if语句来使用,这样才起到效果,否则会导致循环嵌套的混乱。


该杂文来自: Excel杂文

上一篇:重复数据只显示其中一条

下一篇:把数字转换成罗马数字的函数ROMAN使用

网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231 访问统计