首页 > 其他分享 >VBA结构总结

VBA结构总结

时间:2023-06-18 22:55:16浏览次数:39  
标签:总结 Do VBA Next While 循环 Until Loop 结构

三大结构:顺序、选择、循环

选择

If 条件表达式 Then
     真执行的,语句1
    ElseIf 条件表达式
     假执行的,语句2
    Else
     上面情况都不满足执行则执行本,语句3
End If

 

循环

For循环

For … Next 循环
For Each 循环

  • For...Next循环
//For … Next 循环
For [变量] = [初始值] To [结束值] Step [步长]   //Step不写 步长默认为1
    //这里是循环执行的语句
Next [变量]
//For Each 循环
For [变量] = [初始值] To [结束值] Step [步长]
    //这里是循环执行的语句
Next [变量]

//E.g:
Sub MyCode()
    Dim i As Integer
    Dim sum As Integer

    For i = 1 To 10
        sum = sum + i
        If sum > 30 Then
            Exit For        //Exit For相当于C语言中的break;跳出结束循环。在VBA中仅用于For...Next和For Each
        End If    
    Next 
    
End Sub
  • For Each循环
//For Each循环
For Each [元素] In [元素集合]
    //循环执行的代码
Next [元素]

//E.g:
Sub MyCode()
    Dim sh As Worksheet
   
    For Each sh In Worksheets
        Debug.Print sh.Name
    Next sh
    
End Sub

 

Do While循环

Do While … Loop 循环
Do … Loop While 循环

  • Do While … Loop 循环
//Do While … Loop 循环
Do While [条件表达式]
    '循环执行的代码
Loop

//E.g:
Sub MyCode()
    Dim i As Integer
    Dim sum As Integer
  
    i = 1
    Do While i <= 10
        sum = sum + i
        
         If sum > 30 Then
            Exit Do        //Exit Do和Exit For一样,相当于C语言中的break;跳出结束循环。在VBA中仅用于Do While系列循环
        End If 
        
        i = i + 1
    Loop
    
End Sub
  • Do … Loop While 循环(至少一次)
//Do … Loop While 循环与上一种 Do 循环不同的是,
//Do ... Loop While循环至少循环执行代码一次后,再判断条件表达式的值。
//基本语法如下:
Do
    //循环执行的代码
Loop While [条件表达式]

//E.g:
Sub MyCode()
    Dim i As Integer
    Dim sum As Integer
    i = 1
    
    Do 
        sum = sum + i
        i = i + 1
    Loop While i <= 10
    
End Sub

 

Do Until 循环

Do Until … Loop 循环
Do … Loop Until 循环

  • Do Until … Loop 循环
//Do Until … Loop 循环
//循环开始前判断 Until 后条件表达式的值,如果是真,停止循环;如果是假,继续执行循环。
//基本语法如下:
Do Until [条件表达式]
    //循环执行的代码
Loop
  • Do … Loop Until 循环(至少一次)
    //Do … Loop Until 循环
    //先运行一次,再判断 Until 后条件表达式的值,如果是真,停止循环;如果是假,继续执行循环。
    //基本语法如下:
    Do
        '循环执行的代码
    Loop Until [条件表达式]

 

本文来源转载:https://www.lanrenexcel.com/vba-program-loop-structure/

标签:总结,Do,VBA,Next,While,循环,Until,Loop,结构
From: https://www.cnblogs.com/YYZYCS/p/17489922.html

相关文章

  • Qt开发总结1
    GUI界面限制输入的内容QValidator*validator=newQIntValidator(100,999,this);//这样文本框只能输入100~999之间的数字ui->lineEdit->setValidator(validator);显示格式控制ui->textEdit->setWordWrapMode(QTextOption::WrapAnywhere);//任意地方换行ui->tableWi......
  • 知识总结
    jsp以reqBody传给后端后端用@RequestParam分别接收参数curl-XGET\http://bjfk-staging-ls508.yz02:9494/rest/infra/id/card/user/bind/account?uid=xxx&name=xxx&identity=xxx&appType=xxx后端使用@RequestParam分别承接几个参数即可@RequestParam只应用于content-type......
  • C++基础知识总结
    2023/6/18本篇章记录学习过程C++的基础概念和代码测试实现,还有很多需要补充。一是还不清楚,二是还没有学到。打算学习过程中后面再做补充。先看完《C++primer》书之后再慢慢来添加补充1.函数重载一个函数名可以实现多个功能,这取决于函数参数不同来实现判断对应的功能,与返回......
  • Hadoop项目结构
    HDFS:分布式存储YARN:计算资源调度MapReduce:离线计算(基于磁盘)Tez:构建有向无环图Spark:基于内存计算Hive:数据仓库(历史记录)Pig:流数据处理(轻量级的脚本语言)Oozie:作业流调度系统Zookeeper:分布式协调服务HBase:列族数据库Flume:日志收集分析框架Sqoop:数据导入导出Ambari:部署......
  • 本周总结(6.18)
    总结1、数据结构小学期第一阶段的四道题目全部完成啦!就是还需要进行一定的复习,以应对接下来的数据结构答辩啦!2、ppt和计划书仍旧在努力阶段3、小程序情况基本上完成了登录界面和主界面的内容,但是下面的内容还没有填.........
  • Redis - 数据结构类型及使用场景详解
    一.简介Redis是由SalvatoreSanfilippo编写的一个key-value存储系统,是跨平台的非关系型数据库。Redis是一个开源的,使用C语言编写的,遵守BSD协议,支持网络,可基于内存,分布式,可选持久性的键值对(key-value)存储数据库,并且提供了多种语言的API。二.特性1.基于内存存储(不开启持久化的......
  • 微信小程序更改刷新data 数组结构里的某一项数据
    如果每次setData 中list整个数组,感觉会消耗性能,所以只需要setData刷新对应的item  只需要通过以下方式解决    this.setData({'array[0].text':'updatedata'})//如果索引是动态的则使用下方方式varmMessage='array['+index+'].text';this.set......
  • BUAA OO 总结
    正向建模和开发本单元通过学习三种UML图,在具体写代码之前先对架构进行构建。理论上讲,这样是可以节省很多时间并优化架构的,但是我实际执行过程中,经常遇到原来的UML图架构考虑不周,而不得不根据代码反过来修改UML图,最后第一次作业基本上就和先写代码没有区别,好在第二,三次迭代时这样......
  • Redis的设计与实现-总结
    个人真的很喜欢这本书,从对C语言一窍不通,到发现C语言竟然如此简洁,以至于我喜欢上了C!对此前面的底层数据结构也读了几次,大致整理了书里的内容,后面的就粗略看了一下,不再细细整理了.Redis的设计与实现(1)-SDS简单动态字符串Redis的设计与实现(2)-链表Redis的设计与实......
  • 第三十节:EFCore7.x版本新功能总结
    一.linq改进1.GroupBy(1).可以直接GroupBy进行toList()输出了. PS:从EFCore3.x--6.x不能直接groupby进行输出了。(2).这种类型的GroupBy不会直接转换为SQL,因此EFCore对返回的结果进行分组。但是,这不会导致从服务器传输任何其他数据。toList()才会查询。(3).案......