Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2255|回复: 6

[VBA] IF-Then-Else结构

[复制链接]
发表于 2014-5-20 13:02 | 显示全部楼层 |阅读模式
        在VBA中,IF-Then-Else结构可以认为是IF-Then结构的扩展。在这种结构中,可以为IF条件逻辑表达式中,添加执行语句。也就是,当条件不符合IF逻辑表达式时,可以通过设置Else语句来设置其他操作语句。
        IF-TheIIF-Then-ElseIF-Then-ElseF-Then-Elsen-Else结构的典型语法结构是:
        True_instructions1
        ElseIf condition1 then
        True_instructions2
        ......
        Else
        True_instructions-end
        End If
        使用IF-Then-Else结构,可以处理比IF-Then结构更加复杂的问题。因为,在IF-Then-Else结构中,可以很方便地处理更多的情况和内容。
        例如,使用If-Then-Else结构来获取不同的折扣信息,具体的折扣信息如下:
        a. 销售数量在5000以上,折扣是0.65;
        b. 销售数量在1500~5000,折扣是0.85;
        c. 销售数量在800~1500,折扣是0.95;
        d. 销售数量在800以下,全额支付。
        根据上面的折扣信息,编写对应的程序代码如下:
        步骤1、进入VBE,打开代码窗口,在其中输入代码如下:
        Sub Check_Quantity()
        Dim intSaleQuantity As Integer
        Dim strMsg As String
        Dim strMsgRev As String
        intSaleQuantity = CInt(InputBox("Please Enter the quantity"))
        strMsg = "折扣是"
        If intSaleQuantity >= 5000 Then
          strMsgRev = strMsg & "0.65"
          MsgBox strMsgRev
        ElseIf intSaleQuantity  < 5000 And intSaleQuantity > 1500 Then
          strMsgRev = strMsg & "0.85"
          MsgBox strMsgRev
        ElseIf intSaleQuantity < 1500 And intSaleQuantity > 800 Then
          strMsgRev = strMsg & "0.95"
          MsgBox strMsgRev
        Else
          MsgBox "请付全额"
        End If
        End Sub
        在以上代码中,将销售折扣等级分别列成对应的逻辑表达式,然后通过使用If-Then-Else结构来完成每种表达式对应的情况。
        步骤2、在VBE中,按F5键测试程序。在输入框中输入3600,则对话框提示“折扣是0.85”。
        说明:在以上的代码中使用了Cint函数,将函数Inputbox接收的字符串变量转换为整型变量。
发表于 2014-5-21 09:43 | 显示全部楼层
回复

使用道具 举报

发表于 2014-5-21 10:05 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2014-5-21 14:59 | 显示全部楼层
爱疯 发表于 2014-5-21 10:05
楼主,这是你自己写的吗?

不是,他山之石,可以攻玉。
回复

使用道具 举报

 楼主| 发表于 2014-5-21 15:00 | 显示全部楼层
大家共同学习,每天进步一点点!
回复

使用道具 举报

发表于 2014-5-21 16:23 | 显示全部楼层
以下只是个人的观点。


1)转载应注明出处
2)转载应尽可能完整
3)不支持无原创内容,而单纯去拆分资料。试想大家都如此,长久下去 ... 待到周围都是这样的帖时,
你还能快速找出有价值的资料吗?
你还会来此发资料吗?
你还会来此学习吗?
你还会来此吗?


如果确是学习后,其中有自己的理解,哪怕只就一条语句、一个概念 ...展开学习,也是值得尊重的。
如果楼主注明原著内容出处,尽可能完整的发帖。
如果受大家关注,是一样有机会加精的。
楼主愿望是好的,共同学习,虽是好事,但个人不建议这么做。

回复

使用道具 举报

 楼主| 发表于 2014-5-21 16:42 | 显示全部楼层
他山之石,可以攻玉。虽然不是原创,但是也是从正规的出版物里节选而来,保证了它的完整性和可读性的。试想每个人的学习都是一步一步积累起来的,版主也不是一蹴而就的吧。学习是一个积少成多,集腋成裘的过程,试想如果没有能量的摄取,又何谈吸收与消化呢?版主难道您不吃饭吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-3 21:29 , Processed in 1.174407 second(s), 6 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表