Excel精英培训网

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

[习题] VBA综练二

[复制链接]
发表于 2012-6-19 13:01 | 显示全部楼层 |阅读模式
题目:
企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?

Sub 练习2()
Dim x, y As Single
x = InputBox("请输入利润额:")
If x <= 100000 Then
   y = x * 0.1
ElseIf x > 100000 And x <= 200000 Then
   y = 100000 * 0.1 + (x - 100000) * 0.075
ElseIf x > 200000 And x <= 400000 Then
   y = 100000 * 0.1 + 100000 * 0.075 + (x - 200000) * 0.05
ElseIf x > 400000 And x <= 600000 Then
   y = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 _
   + (x - 400000) * 0.03
ElseIf x > 600000 And x <= 1000000 Then
   y = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 _
   + 200000 * 0.03 + (x - 600000) * 0.015
Else
   y = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 _
   + 200000 * 0.03 + 400000 * 0.015 + (x - 1000000) * 0.01
End If
MsgBox "应提奖金额为:" & y
End Sub
发表于 2012-6-19 13:55 | 显示全部楼层
  1. Sub 练习2()
  2. Dim x, y As Single
  3. x = InputBox("请输入利润额:")
  4. If x <= 100000 Then
  5. y = x * 0.1
  6. ElseIf x > 100000 And x <= 200000 Then
  7. y = 10000 + (x - 100000) * 0.075
  8. ElseIf x > 200000 And x <= 400000 Then
  9. y = 17500 + (x - 200000) * 0.05
  10. ElseIf x > 400000 And x <= 600000 Then
  11. y = 27500 + (x - 400000) * 0.03
  12. ElseIf x > 600000 And x <= 1000000 Then
  13. y = 33500 + (x - 600000) * 0.015
  14. Else
  15. y = 39500 + (x - 1000000) * 0.01
  16. End If
  17. MsgBox "应提奖金额为:" & y
  18. End Sub
复制代码
这样可以吗?
回复

使用道具 举报

 楼主| 发表于 2012-6-19 19:25 | 显示全部楼层
fjmxwrs 发表于 2012-6-19 13:55
这样可以吗?

可以,这是提前把答案算出来,这样减少运算速度,很好,我又学习了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-4 01:20 , Processed in 0.191429 second(s), 6 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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