LS写的意思跟LZ的有点不一样,LZ想要得到的效果应该是原价越高,折扣越大,明显3000<=a不能用a<4000代替,那么代码应该是将判断条件从最高一级往下面筛选,代码如下:
Private Sub form_Click()
Dim a!, b!, c!
a = Val(InputBox("请输入原价", "计算折扣"))
If 3000 <= a Then
Label3 = a * 0.7
ElseIf 2000 <= a Then
Label3 = a * 0.8
ElseIf 1000 <= a Then
Label3 = a * 0.9
ElseIf a < 1000 Then
Label3 = a
Else
Label3 = a * 0.6
End If
End Sub
语句中前面两个分支就把全部情况都包含进去了,后面的分支肯定不会用上了。
第一个分支 a<1000
第二个分支 a>=1000,以后分都包含在这个分支里面了
正确方法为:
if a<1000 then
....
elseif a<2000 then
....
elseif a<3000 then
....
elseif a<4000 then
....
else
....
endif