ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 600|回复: 3

[讨论] 如何优化缩减自定义函数的代码长度?(详细查看附件)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-6-23 09:32 | 显示全部楼层 |阅读模式
本帖最后由 =INDEX() 于 2018-6-23 22:43 编辑
  1. Function XDMS(Arr As Variant)
  2. Dim c1, c2, f7 As Single
  3. c1 = 0
  4. For i = 1 To 8
  5. c1 = c1 + Arr(i)
  6. Next
  7. c2 = 0
  8. For i = 9 To 16
  9. c2 = c2 + Arr(i)
  10. Next
  11. b1 = Arr(1) / c1
  12. b2 = (Arr(2) / c1) + b1
  13. b3 = (Arr(3) / c1) + b2
  14. b4 = (Arr(4) / c1) + b3
  15. b5 = (Arr(5) / c1) + b4
  16. b6 = (Arr(6) / c1) + b5
  17. c3 = (b2 + b3 + b4 + b5 + b6) * 100
  18. c4 = (5 * b1) * 100
  19. c5 = (1 - b1) * 100
  20. c6 = (c3 - c4) / c5
  21. e1 = Arr(9) / c2
  22. e2 = (Arr(10) / c2) + e1
  23. e3 = (Arr(11) / c2) + e2
  24. e4 = (Arr(12) / c2) + e3
  25. e5 = (Arr(13) / c2) + e4
  26. e6 = (Arr(14) / c2) + e5
  27. f3 = (e2 + e3 + e4 + e5 + e6) * 100
  28. f4 = (5 * e1) * 100
  29. f5 = (1 - e1) * 100
  30. f6 = (f3 - f4) / f5
  31. f7 = (c6 + f6) / 2
  32. XDMS = f7
  33. End Function
复制代码

这是一段求细度模数的自定义函数,感觉代码太过于冗长了。

集料报告.rar

42.93 KB, 下载次数: 5

TA的精华主题

TA的得分主题

发表于 2018-6-23 09:45 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
没有相应的附件,怎么判断代码是否长了?何况代码长短也不能说明什么。

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-6-23 10:34 | 显示全部楼层
蓝桥玄霜 发表于 2018-6-23 09:45
没有相应的附件,怎么判断代码是否长了?何况代码长短也不能说明什么。

附件已上传,麻烦老师看看代码在模块5里面

TA的精华主题

TA的得分主题

发表于 2018-6-23 14:09 | 显示全部楼层
只优化了XDMS,自行取舍测试

集料报告.rar

31.89 KB, 下载次数: 3

评分

1

查看全部评分

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

本版积分规则

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

GMT+8, 2024-3-29 00:08 , Processed in 0.043111 second(s), 14 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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