- 1、本文档共89页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
深入浅出Excel VBA
For 1 = 3 To 8
如果平均成绩达到80分并且数学成绩达到90分,则发放奖学金3000元
If Cells(i,6)= 80 And Cells(i,4)= 90 Then
amount = 3000
否则,如果平均成绩达到80分并且数学成绩低于90分,则发放奖学金2000元
amount = 2000
否则,若不符合上述任何条件,则发放奖学金0元
Else
amount = 0
End If
Cells(i,7)= amount
Next i
End Sub
读者可能会觉得这段代码并不比之前使用嵌套If结构书写的代码简单。没错,这是因为在案
例4-3中,对于“平均成绩达到80分”和“数学成绩达到90分”这两个判断条件,我们必须既
考虑其成立时的情况(比如数学成绩达到90分则发放奖学金3000元),又考虑其不成立时的情况
(比如平均成绩小于80分则发放奖学金0元)。换言之,程序中存在很多Else分支。在这种情况
下,使用嵌套循环往往能够更清晰地表现层层递进的结构。
但是当不需要为每个判断条件都书写Else分支时,使用嵌套结构就会让代码显得非常繁杂,
例如遇到案例4-4的情况。
案例4-4:重新修订案例4-2的奖学金发放规则,只有平均成绩在80分及以上,并且每科
成绩都在60分以上的同学才有资格获得奖学金,金额一律为1000元。案例4-4的原始数据及预
期运行效果如图4.18所示。
C EF
A8 D G B D E G
1 奖学金计算赛 1 奖学金计算表
2 姓名 语文 数学 英语 平均 奖学金 2 姓名 语文 数学 英涵 平均 其学金
3 85 E 88
91 糖 赫 3 月 5 1000
4 李四 四0
工五 58 89 81 0
8996 五 9658
6 赵六 Rs
68n570 6 68n6570 0
7 田七 69 446 7 由时 69脑 4467 0
8 郑八 2 八 1000
85 8380 85η 80
图4.18案例4-4的原始数据及预期运行效果
对于修改后的规则,如果使用嵌套的判断结构就需要书写4层If语句,形如下面的代码:
Sub Demo_4_4()
Dim 4
For 1= 3 To 8
使用默认值法:先将该行G列设为0元
然后判断所有成绩,只有全部满足要求时才将G列的数值修改为1000
72
第4章 智能的产生——判断结构
Cells(i,7)= 0
If Cells(i,6)= 80 Then
If Cells(i,3)= 60 Then
If Cells(i,4)= 60 Then
If Cells(i,5)= 60 Then
文档评论(0)