教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 高等教育 >

office - Excel - VBA入门基础 - 图文(10)

来源:网络收集 时间:2026-09-12
导读: 控制程序的流程,有判断、分支和循环三种语句。 接下来我们将一样一样地进行讲解。 ===================== 程序流程控制—>if语句 ==================== 1、if—then语句

控制程序的流程,有判断、分支和循环三种语句。 接下来我们将一样一样地进行讲解。

===================== 程序流程控制—>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字,全部文档内容请下载后查看。喜欢就下载吧 ……
office - Excel - VBA入门基础 - 图文(10).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/612939.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)