打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
【烟花原创】VBA零基础之第16篇 For...Next循环
在写代码的时候,经常会有这种情况,需要反复的执行一条或多条语句。
       执行一次,咱就写一次,如果执行100次,1000次,咱是不是也给复制粘贴100次,1000次了?
        今天我们要讲的For…Next语句正是为解决此问题而设计的

       For…Next语句重复执行一条或多条语句,他的循环次数是指定的
       语法:
              For 计数器变量 = 起始值 To 结束值 Step 步长
                     语句
                     Exit For
                     语句
              Next 计数器变量

       计数器变量:必要参数,用来做循环计数器的数值变量。
              For I = 1 To 5
       起始值:必要参数,可以是数值或表达式,指定计数器从哪个值开始
       结束值:必要参数,可以是数值或表达式,指定计数器结束于哪个值
       步长:可选参数,指定计数器变量每次增加的值。
       当缺少 step 步长 时,则默认为step 1。步长可以是正数,也可以是负数
       当然也可以是0(是0的话,就只有死循环一条路了)。
        正确: For I = 1 To 5
       正确: For I = 1 To 5 Step 1
       错误: For I = 5 To 1
       以上步长是正数(正增长),我们再看看步长为负数的情况(负增长)
       正确: For I = 5 To 1 Step -1
       错误: For I = 1 To 5 Step -1

       要保证循环的运行,在步长值为正数或0的的情况下,计数器变量的值必须是小于等于结束值;
       在步长值为负数的情况下,计数器变量的值是大于等于结束值的。

       当循环中的所有语句都执行后,步长的值 会加到 计数器变量中。
       此时循环中的语句可能会再次执行(基于循环开始执行时同样的测试),
       也可能是退出循环并从 Next 语句之后的语句继续执行。

         需要注意的是:在循环中改变 counter 的值,将会使程序代码的阅读和调试变得更加困难。
         Dim i As Integer
         For i = 1 To 10
                  i = i + 2
           Next
         大家可以看看上面的代码,循环语句一共执行了几次。

         Exit for:退出循环。可以在循环中进行判断,如果需要提前结束循环则可以使用此语句。
                  For I = 1 To 100
                           J = J + 100
                           If J > 1000 Then Exit For
                  Next

         NEXT 计数器变量:NEXT后面的计数器变量名是可以省略的。
         但如果不省略的话,则注意必须的FOR语名中的计数器变量名一致。
         错误的用法:
         首尾不一致
         For I = 1 To 5
                  …
         Next J

          交叉嵌套
         For I = 1 To 5
                  For J = 1 To 5
                           …
                  Next I
         Next J

         可以将一个 For...Next 循环放置在另一个 For...Next 循环中,组成嵌套循环
         不过在每个循环中的 计数器变量 要使用不同的变量名。
         For I = 1 To 10
                  For J = 1 To 10
                           For K = 1 To 10
                                     ...
                           Next K
                  Next J
         Next I

完整的例子
         Sub ListWorksheets()
                  Dim I As Integer
                  Dim strMsg As String
                  strMsg = "当前工作簿 " & ActiveWorkbook.Name & " 包含以下工作表:" & vbCr
                  'Activeworkbook.name 当前活动工作簿的文件名
                  For I = 1 To Worksheets.Count
                           strMsg = strMsg & Worksheets(I).Name & vbCr
                           'worksheets(i)当前活动工作簿中,第I个工作表
                           'name,工作表表名
                  Next
           MsgBox prompt:=strMsg, Buttons:=vbInformation + vbOKOnly, Title:="提示"
         '消息对话框,prompt是消息对话框显示的文本内容
         'buttons指定对话框中显示的按钮和图标样式,是多个值的累加
         'vbOkOnly:确定按钮
         'vbinformation:信息图标
End Sub
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
VBA--流程控制之FOR...NEXT语句
【VBA实例026】输出ASCII码表
笨方法学VBA:基本语句
三种基本结构语句
Excel中VBA中for循环语句的使用方法
Excel VBA中for循环语句的用法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服