office - Excel - VBA入门基础 - 图文(10)
控制程序的流程,有判断、分支和循环三种语句。 接下来我们将一样一样地进行讲解。
===================== 程序流程控制—>if语句
==================== 1、if—then语句
这个句式相当于中文里面的?如果.......那么?。 格式:
if 逻辑表达式 then 语句块 end if
解释:如果逻辑表达式的结果为true,则执行语句块里的所有语句,否则执行end if后面的语句。语句块可以是一句指令或多条指令,也可以调用一个或多个过程,当然,也可以为空,就是没有语句。
如:要判断A1单元格是否已输入内容,设计程序: 复制内容到剪贴板 代码:
Sub test1()
If [a1] = \
MsgBox \单元格没有输入任何内容!\ End If End Sub
2、 if—then—else语句
这个语句相当于中文里面的?如果......那么......否则......?句式。 格式:
if 逻辑表达式 then 语句块1 else
语句块2 end if
解释:如果逻辑表达式的结果为true,则执行语句块1里的所有语句,如果逻辑表达式的结果为Flase则执行语句块2里的所有语句。
如:要判断A1单元格是否已输入内容,设计程序: 复制内容到剪贴板 代码:
Sub test2()
If [a1] = \
MsgBox \单元格没有输入任何内容!\ Else
MsgBox \单元格已经输入了内容!\ End If End Sub
3、if—then—elseif语句 这就相当于中文里面的若?如果…那么…否则如果…那么…否则?语句,当然,可以有多句?否则如果.......? 格式:
If 逻辑表达式1 Then
语句块1
ElseIf 逻辑表达式2 Then 语句块2
ElseIf 逻辑表达式3Then 语句块3 … Else
语句块n Eed If
解释:若逻辑表达式1的结果为True,则执行语句块1,接着继续执行EndIf后面的语句;若逻辑表达式1的结果为False,则检查逻辑表达式2的结果,若为True则执行语句块2,接着继续执行EndIf后面的语句.......一直到所有结果的条件都不满足时,才执行Else后面的语句块n。
如:要判断A1单元格的数是否能被2、3、5其中之一整除,设计程序:
复制内容到剪贴板 代码:
Sub test3()
If [a1] = \
MsgBox \单元格没有输入任何内容!\ ElseIf [a1] Mod 2 = 0 Then
MsgBox \单元格的数能被2整除!\ ElseIf [a1] Mod 3 = 0 Then
MsgBox \单元格的数能被3整除!\ ElseIf [a1] Mod 5 = 0 Then
MsgBox \单元格的数能被5整除!\ Else
MsgBox \单元格的数不能被2、3、5其中之一整除!\ End If End Sub
IF语句.rar (6.7 KB)
程序流程控制——Select Case语句 =============================
Select Case语句同IF语句一样,也是条件判断的语句。
它的功能也可以用IF语句来完成。但是,当程序的条件太多,用IF语句来判断的话就存在一些不足了,比如程序是否美观?是否便于阅读?程序的执行效率等等。Select Case语句在执行的效率上,同IF语句相比,肯定是要快得多。 [Select Case语句的语法] Select Case 测试表达式 Case 条件表达式1 语句块1
Case 条件表达式2 语句块2 Case 条件表达式3 语句块3 ......
Case 条件表达式n 语句块n Case Else
语句块Else End Select.
当某个条件表达式与测试表达式相匹配时,则执行其后的语句块,否则执行Case Else后的语句块,然后结束Select Case块的执行。同IF语句一样,可以不要Case Else语句。 ?如对A1单元格的学生成绩进行等级评定,小于等于30分的为差,30分到59分的为不及格,60分到79分的为及格,80分到89分的为良好,90到100分的为优秀。?用Select Case语句来解决就是:
复制内容到剪贴板 代码:
Sub test()
If [a1].Value = \
MsgBox \单元格没有输入数字。\ Exit Sub ' 退出程序 End If
Select Case [a1].Value Case 0 To 29 MsgBox \差\
Case 30 To 59
MsgBox \不及格\ Case 60 To 79 MsgBox \及格\ Case 80 To 89 MsgBox \良好\ Case Else
MsgBox \优秀\ End Select End Sub
Select Case语句.rar (6.44 KB) Select Case语句.rar (6.44 KB)
需要补充一点的是,无论是IF语句还是Select Case语句, 都是可以进行嵌套的! 引用:
ggsmart的补充说明:楼上写的代码,我只考虑分数是整数的时候,这里我只是举个例子,目的是让大家认识Select Case语句,因为没有考虑小数和负数的情况.一旦出现29.5之类的,就都全是优秀.所以,程序本身并不全面.为此,38度OFFICE技术论坛的老朽对代码进行了修定,提供了另一段全面的代码,非常感谢!
代码:
'修订:38度:老朽
'网址:http://www.38duoffice.cn/bbs '日期:2009-7-1 上午 11:22:21 Sub Test()
If [a1].Value = \
MsgBox \单元格没有输入数字。\ Exit Sub ' 退出程序 End If
Select Case [a1].Value Case Is < 30 MsgBox \差\ Case Is < 60
MsgBox \不及格\
…… 此处隐藏:755字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [高等教育]公司协助某村精准扶贫工作总结.doc
- [高等教育]高二生物知识点总结(全)
- [高等教育]苏教版数学三年级下册《解决问题的策略
- [高等教育]仪器分析课程学习心得
- [高等教育]2017年五邑大学数学与计算科学学院333
- [高等教育]人教版七年级下册语文第四单元测试题(
- [高等教育]2018年秋七年级英语上册Unit7Howmuchar
- [高等教育]2017年八年级下数学教学工作小结
- [高等教育]湖南省怀化市2019届高三统一模拟考试(
- [高等教育]四年级下册科学_基础训练及答案教材
- [高等教育]城郊煤矿西风井管路伸缩器更换施工安全
- [高等教育]昆八中20182019学年度上学期期末考试
- [高等教育]项目部各类人员任命书
- [高等教育]上市公司经营水务产业的模式
- [高等教育]人教版高二化学第一学期第三章水溶液中
- [高等教育]【中考物理第一轮复习资料】四.压强与
- [高等教育]金坑水电站报废改建工程机电设备更新改
- [高等教育]高中生物教学工作计划简易版
- [高等教育]2017年西华大学攀枝花学院(联合办学)44
- [高等教育]最新整理超短爆笑英文小笑话大全
- 优秀教师继续教育学习心得体会
- 阳历到阴历的转换
- 留守儿童教育案例分析
- 华师17春秋学期《玩教具制作与环境布置
- 测速传感器新型安装装置的现场应用
- 人教版小学数学三年级下册第四单元
- 创业个人意向书
- 山东省潍坊市2012年高考仿真试题(三)
- [恒心][好卷速递]四川省成都外国语学校
- 多少人错把好转反应当成了病情加重处理
- 中外广播电视史复习资料整理
- 江苏省扬州市江都区宜陵镇中学2014-201
- 工程造价专业毕业实习报告
- 广西师范学院心理与教育统计
- aympkrq基于 - asp的博客网站设计与开
- 建筑业外出经营相关流程操作(营改增后
- 人治 德治 法治
- [精华篇]常识判断专项训练题库
- 中国共产党为什么要实行民主集中
- 小学数学第三册第一单元试卷(A、B、C




