ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: yuanzhuping

VBA常用技巧代码解析

    [复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-5-25 22:52 | 显示全部楼层

第9部分 函数的使用

本帖已被收录到知识树中,索引项:开发帮助和教程
技巧161         格式化数值、日期和时间
       Format函数是VBA中的常用函数,可以实现数值、日期和时间格式的转变,示例代码如下:
  1. #001  Sub FromatCurrent()
  2. #002      MsgBox Format(123456.789, "0.00") & Chr(13) _
  3. #003          & Format(123456.789, "0.00%") & Chr(13) _
  4. #004          & Format(123456.789, "##,##0.00") & Chr(13) _
  5. #005          & Format(-123456.789, "$#,##0.00;($#,##0.00)") & Chr(13) _
  6. #006          & Format(-123456.789, "¥#,##0.00;(¥#,##0.00)") & Chr(13) _
  7. #007          & Format(Date, "yyyy-mm-dd") & Chr(13) _
  8. #008          & Format(Date, "yyyymmdd") & Chr(13) _
  9. #009          & Format(Date, "Long Date") & Chr(13) _
  10. #010          & Format(Now, "hh:mm:ss") & Chr(13) _
  11. #011          & Format(Now, "hh:mm:ss AMPM")
  12. #012  End Sub
复制代码
代码解析:
       FromatCurrent过程使用消息框显示格式化后的数值、日期和时间。
       Format函数根据格式表达式中的指令来格式化的数值、日期和时间,语法如下:
       Format(expression[, format[, firstdayofweek[, firstweekofyear]]])
       其中参数expression是必需的,任何有效的表达式。
       参数format是可选的,有效的命名表达式或用户自定义格式表达式。
       第2行代码将数值格式化为两位小数格式显示。
       第3行代码将数值格式化为两位小数的百分比格式显示。
       第4行代码将数值格式化为千位分隔符显示。
       第5行代码将数值格式化为以美元符号显示的两位小数,以千位分隔符分隔,如果是负值则以小括号显示。
       第6行代码将数值格式化为以人民币符号显示的两位小数,以千位分隔符分隔,如果是负值则以小括号显示。
       第7行代码将系统日期格式化为“yyyy-mm-dd”格式显示。
       第8行代码将系统日期格式化为“yyyymmdd”格式显示。
       第9行代码将系统日期格式化为长日期格式显示。
       第10行代码将系统时间格式化为24小时、分钟和秒的格式显示。
       第11行代码将系统时间格式化为分12小时、分钟和秒的格式显示。
       运行FromatCurrent过程结果如图所示。
       Snap1.jpg

技巧161 格式化数值、日期和时间.rar

6.83 KB, 下载次数: 846

点评

老师的讲解很全面,学习!  发表于 2011-10-20 11:25

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2009-5-26 08:23 | 显示全部楼层
感谢袁老师,非常好的资料,再次谢谢您的辛勤劳动

TA的精华主题

TA的得分主题

发表于 2009-5-26 08:28 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

感谢

十分想念版主,谢谢了,别的不说了,有时间给我签名!!

TA的精华主题

TA的得分主题

发表于 2009-5-26 09:13 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-5-26 10:31 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

第9部分 函数的使用

技巧162         计算个人所得税
       在财务工作中经常需要计算个人所得税,而在Excel中并没有计算个人所得税的函数,此时可以使用自定义函数来计算,如下面的代码所示。
  1. #001  Public Function PITax(Income, Optional Threshold) As Single
  2. #002      Dim Rate As Single
  3. #003      Dim Debit As Single
  4. #004      Dim Taxliability As Single
  5. #005      If IsMissing(Threshold) Then Threshold = 2000
  6. #006      Taxliability = Income - Threshold
  7. #007      Select Case Taxliability
  8. #008          Case 0 To 500
  9. #009              Rate = 0.05
  10. #010              Debit = 0
  11. #011          Case 500.01 To 2000
  12. #012              Rate = 0.1
  13. #013              Debit = 25
  14. #014          Case 2000.01 To 5000
  15. #015              Rate = 0.15
  16. #016              Debit = 125
  17. #017          Case 5000.01 To 20000
  18. #018              Rate = 0.2
  19. #019              Debit = 375
  20. #020          Case 20000.01 To 40000
  21. #021              Rate = 0.25
  22. #022              Debit = 1375
  23. #023          Case 40000.01 To 60000
  24. #024              Rate = 0.3
  25. #025              Debit = 3375
  26. #026          Case 60000.01 To 80000
  27. #027              Rate = 0.35
  28. #028              Debit = 6375
  29. #029          Case 80000.01 To 10000
  30. #030              Rate = 0.4
  31. #031              Debit = 10375
  32. #032          Case Else
  33. #033              Rate = 0.45
  34. #034              Debit = 15375
  35. #035      End Select
  36. #036      If Taxliability <= 0 Then
  37. #037          PITax = 0
  38. #038      Else
  39. #039          PITax = Application.Round(Taxliability * Rate - Debit, 2)
  40. #040      End If
  41. #041  End Function
复制代码
代码解析:
       自定义PITax函数根据应纳税额计算应纳的个人所得税额。
       第5行代码设置个人所得税的起征点为2000元,如果以后需要调整起征点,可把2000元改为调整后的起征点。
       第6行代码设置应纳税所得额等于应纳税收入减去起征点。
       第7行到第35行代码根据全月应纳税所得额取得税率和速算扣除数。税率和速算扣除数根据如表格所示的工资、薪金所得适用个人所得税九级超额累进税率表计算。
       Snap1.jpg
       第36行到第40行代码根据应纳税所得额、税率和速算扣除数计算应纳的个人所得税额。其中第39行代码中使用工作表函数Round对计算结果进行四舍五入运算,请参阅技巧157-2。
       在工作表中使用自定义PITax函数结果如图所示。
       Snap2.jpg

技巧162 计算个人所得税.rar

6.61 KB, 下载次数: 843

点评

Case 还是用“大于号”比较合适  发表于 2014-1-22 18:34

TA的精华主题

TA的得分主题

发表于 2009-5-26 10:33 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
第一次上该网站.不曾想收获颇丰!
真的太感谢了!这精神可比当年雷锋啊!
手工复制了第151-161部分的WORD版文字说明,本来想一并传上来,但担心"影响视听"(袁老师的1-8部分WORD版做得很好,还编了目录,看看自己的太不体面了!)所以放弃了传上来的念头.
再次感谢袁老师!

TA的精华主题

TA的得分主题

发表于 2009-5-26 11:43 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-5-26 12:24 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-5-26 14:36 | 显示全部楼层
我是个菜鸟,还不知道从哪学起(指VB)

TA的精华主题

TA的得分主题

发表于 2009-5-26 16:06 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-16 09:34 , Processed in 0.048663 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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