Excel表达式计算 带圆括号中括号描述均可计算 兼容64位Excel 支持超过255字符【VIP视频教程】VBA精彩实例006

2020年4月4日15:07:44 评论 96 views

案例需求

(0.85+1.15+0.73+0.18*2+0.19*2+1.12+0.16+0.14+0.82+0.15+0.24*2+0.54+0.96+0.44+0.39+1.9[立管]+0.55*2[立管]+1.3*2[立管]+0.7*2[立管]+1.6[立管]+1.1*2[立管]+1.75[立管]+0)*30[倍数]

上面这种表达式计算,相信很多做工程预算的同学非常熟悉,在预算里面经常用这种表达式计算各种面积体积,最后根据单价得到总价,这么写的目的是方便检查,能清晰地看到计算过程,但是问题来了,计算结果的时候就麻烦了,Excel不能直接计算这种表达式,有的同学会找eval自定义名称的方式计算,但是面对这种复杂表达式还是无能为力,那就只有使用vba自定义函数才可以实现,且vba自带的evaluate函数有255个字符的限制,这里还需要调用js的eval函数才能计算出超长表达式,同时要用正则表达式去掉括号里的备注信息

技术要点

  • VBA计算数学表达式的值,调用jS函数中的eval函数
  • 正则表达式应用,清除中括号中的备注信息
  • 多次替换纠正手写中文括号为英文括号,保证表达式能正确计算
  • 解决64位Excel无法调用js组件的问题

VIP福利

198元至尊VIP包含 VBA175+基础408+代码助手VIP+Q群答疑

直接站内升级至尊VIP即可尊享以上所有权益


欢迎打赏观看完整视频及下载附件,感谢支持!

  • 微信扫码免费学习
  • 免费学习48小时
  • weinxin
  • 我的微信公众号
  • EXCEL880
  • weinxin

发表评论

您必须才能发表评论!