excel的宏与VBA入门(三)——流程控制
一、条件控制IF
if 逻辑表达式 then
语句块
end if
带else的if语句:
If 逻辑表达式1 Then
语句块1
ElseIf 逻辑表达式2 Then
语句块2
ElseIf 逻辑表达式3 Then
语句块3
…
Else
语句块n
End If
二、条件判断Select/Case
Select Case 测试表达式
Case 条件表达式1
语句块1
Case 条件表达式2
语句块2
Case 条件表达式3
语句块3
......
Case 条件表达式n
语句块n
Case Else
语句块Else
End Select.
示例:
Sub test()
If [a1].Value = "" Then
MsgBox "A1单元格没有输入数字。"
Exit Sub ' 退出程序
End If
Select Case [a1].Value
Case To
MsgBox "差"
Case To
MsgBox "不及格"
Case To
MsgBox "及格"
Case To
MsgBox "良好"
Case Else
MsgBox "优秀"
End Select
End Sub
三、循环控制For/Next
For 循环变量=初值 to 终值 step 步长
循环体1
[exit for]
循环体2
next 循环变量
示例:(步长默认为1,next后的循环变量可以省略 )
Sub mysum()
Dim Lsum As Long, i As Long
For i = To
Lsum = Lsum + i
Next
MsgBox "1到1000的自然数和为:" & Lsum
End Sub
//更多实例,参考开篇链接
四、循环控制For/Each
For Eacn 元素变量 In 对象集合或数组名称
语句块1
[Exit For]
语句块2
next 元素变量
//与上一个循环类似,这里采用元素变量从对象集合中取得方式
五、循环控制Do/While
Do Wihle 循环条件
语句块1
[Exit Do]
语句块2
Loop Do
语句块1
[Exit Do]
语句块2
Loop Wihle 循环条件
//示例暂略
六、循环控制Do/Until
Do Until 循环条件
语句块1
[Exit Do]
语句块2
Loop Do
语句块1
[Exit Do]
语句块2
Loop Until 循环条件
//与Do/While相反的是为真时退出
七、循环控制GoTo
Sub mysum()
Dim Lsum As Long, i As Long
i =
x: '为go to 语句设置的标签,必须以英文状态下的冒号结尾
Lsum = Lsum + i
i = i +
If i <= Then GoTo x '如果i<=1000,则程序跳到标签X处
MsgBox "1到1000的自然数和为:" & Lsum
End Sub
excel的宏与VBA入门(三)——流程控制的更多相关文章
- excel的宏与VBA入门(一)——基础概念
一.概述 "记录宏"其实就是将工作的一系列操作结果录制下来,并命名存储(相当于VB中一个子程序). 宏其实就是VBA写的,但是可以通过录制的方法制作宏,做好的宏你可以查看相应的VB ...
- excel的宏与VBA入门(二)——数据类型与变量
一.属性与方法 1.属性 上面单击对象,下面即显示对应的属性: 2.方法 双击左上的对象,即可看到相应的方法: 二.数据类型 到 Boolean True 或 False , 到 , ,,, 到 ,, ...
- excel的宏与VBA入门——代码调试
直接介绍重点: 常用的操作是导航栏的逐句与断点: 添加断点:调试->切换断点 单步运行:调试->逐句 查看变量的窗口:视图->本地窗口
- python语法入门之流程控制
python语法入门之流程控制 流程控制是指控制流程,具体指控制程序执行的流程. 流程控制分为三种: 1.顺序结构 程序从上而下的正常执行(正常执行的代码就是顺序结构) 2.分支结构 赋予程序人的思维 ...
- Swift中文教程(三)--流程控制
原文:Swift中文教程(三)--流程控制 Swift用if和switch编写条件控制语句,用for-in,for,while和do-while编写循环.条件控制语句和循环语句中,小括号是可选的,但花 ...
- 04 Python入门学习-流程控制(if else elif while for)
一:流程控制if 语法一: if 条件: code1 code2 code3 ... age = 20 height = 170 weight = 60 sex = 'female' is_beaut ...
- Python3.7.4入门-2流程控制工具
2 流程控制工具 记得在语句后加冒号 2.1 while # Fibonacci series: # the sum of two elements defines the next a, b = 0 ...
- 04-Python入门学习-流程控制
一.流程控制if 语法1: if 条件: code1 code2 code3 .... age=180 height=163 weight=75 sex='female' is_beautif ...
- 数据类型(三) + 流程控制(一) day05
目录 昨日回顾 (三) 花式赋值 链式赋值 交叉赋值 (四) 列表list (五) 字典dict (六) 布尔值 (七) 解压缩 (八) python与用户交互的方式 (九) 三种格式化输出的方式 f ...
随机推荐
- photoSwiper移动端图片双击手势缩放
首先引入几个文件: <link rel="stylesheet" type="text/css" href="css/photoswipe.cs ...
- Linux CentOS下Python+robot framework环境搭建
Linux CentOS下Python+robot framework环境搭建 by:授客 QQ:1033553122 操作系统环境:CentOS 6.5-x86_64 下载地址:http://w ...
- ReactNative仿微信朋友圈App
摘要: 欢迎各位同学加入: React-Native群:397885169 大前端群:544587175 大神超多,热情无私帮助解决各种问题. 一.前沿||潜心修心,学无止尽.生活如此,coding亦 ...
- springboot 学习之路 17(webflux 入门 (1))
Webflux: webflux是在springboot2系列引入的技术:补充一些概念: 1> Reactive Streams 是 JVM 中面向流的库标准和规范: 处理可能无限数量的元素 按 ...
- 使用Eclipse Debug的一些说明
目录 Debug视图 线程堆栈视图 变量视图 断点视图 表达式视图 代码视图 远程Debug 异常断点 条件断点 表达式 Debug定位第三方插件的问题 Debug一些经验 Debug视图 认识d ...
- android dev概念快速入门
apk: android将源代码依赖库等经过编译后打包分发的应用. 打包详细过程如下: android-studio安装 由于google被qiang,需要制定proxy,可以使用sock,同时安装完 ...
- SQLServer中DataLength()和Len()两内置函数的区别(转载)
最近工作中遇到了个问题:在数据库中声明字段类型时char(4),但实际只存储了‘DCE’三个字母,程序中拼装以该字段作为key的Map中,会把‘DCE’+空格作为其Key,这样造成用没加空格的‘DCE ...
- 解决MySQL5.6中的Slave延迟问题的基本教程
一.原因分析一般而言,slave相对master延迟较大,其根本原因就是slave上的复制线程没办法真正做到并发.简单说,在master上是并发模式(以InnoDB引擎为主)完成事务提交的,而在sla ...
- python基础学习23----IO模型(简)
对于一个网络IO(network IO),它会涉及到两个系统对象,一个是调用这个IO的process (or thread),另一个就是系统内核(kernel).当一个read操作发生时,该操作会经历 ...
- Java语言的主要特点
Java语言有很多的优点,可靠.安全.编译和解释型语言.分布式.多线程.完全面向对象.与平台无关性等等. 与平台无关性 Java语言最大的优势在于与平台无关性,也就是可以跨平台使用. 绝大多数的编程语 ...