ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] BOM表的拆分+折算主材料重量难题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2021-2-5 14:29 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 临时用用的 于 2021-2-5 14:31 编辑

各位老师大神们:

我又来请教难题了

现在工作中遇到一个难题,百思不得姐,客户需要把产品拆分为物料数量、材料费、加工工时、加工费等,本人比较菜在汇总下层材料折算重量时卡住了,具体要求如下:
0、结果呈现在结果汇总表对应栏位;
1、BOM表编码是20501开头或描述里包含O型圈的归入橡胶件,汇总材料费
2、根据工艺表中的分类+分材质汇总人工、机器工时,汇总人工、机器、辅料费,同时依BOM表汇总下层材料用量折算为KG(单位是PCS的配件不需要折算,附有物料重量折算表),并汇总材料费、汇总物料数量;
3、汇总其他3开头的编码材料费到外购件零件;(不包含第二点已计算的材料)
4、汇总4开头的编码材料费到其他外购件;


因为文件超过2M,所以我压缩为2个文档,下载附件请下载2个后进行解压;
BOM.part2.rar (736.96 KB, 下载次数: 21)

BOM.part1.rar (2 MB, 下载次数: 19)




TA的精华主题

TA的得分主题

发表于 2021-2-5 14:50 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-2-5 14:54 | 显示全部楼层
wo2000 发表于 2021-2-5 14:50
正则表达式就可以了

当局者迷,还请大神动动金手指写一下代码解本鸟之惑,不胜感激!

TA的精华主题

TA的得分主题

发表于 2021-2-5 16:00 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
我只写了第1条,后面其他也应该差不多,改一下正则表达式就好了
Sub bom汇总()
la = Sheets("bom").UsedRange.Rows.Count
arr = Sheets("bom").Range("a1:h" & la)
Set reg = CreateObject("vbscript.regexp")
        reg.Global = True
        reg.Pattern = "205\d{9}|O型圈"
    For i = 1 To la
       Set mt = reg.Execute(arr(i, 2) & arr(i, 3))
        If mt.Count > 0 Then
            pc = pc + arr(i, 5)
            huizong = huizong + arr(i, 8)
        End If
    Next
    Sheets("结果汇总").Range("c45") = pc
    Sheets("结果汇总").Range("e45") = huizong
' -----------------------------
End Sub

TA的精华主题

TA的得分主题

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

删除

本帖最后由 wo2000 于 2021-2-5 16:11 编辑

----------------

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-2-8 10:20 | 显示全部楼层
wo2000 发表于 2021-2-5 16:00
我只写了第1条,后面其他也应该差不多,改一下正则表达式就好了
Sub bom汇总()
la = Sheets("bom").UsedR ...

第一条都算是比较简单的,主要难点在于第二条,请大神指点

TA的精华主题

TA的得分主题

发表于 2021-9-26 16:02 来自手机 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-3-29 20:24 , Processed in 0.051183 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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