ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 【组立加工】依据BOM领料出货分析对比_三坛老窖版续

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-10-17 16:13 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 yangkd 于 2011-10-17 16:16 编辑

老窖兄:你好。
昨夜身体不舒服,今来试试,有点疑问。
进入BOM弹出 运行时错误“5” 不妨碍操作
iou.jpg

BOM中【单级产品结构图】没有变化,我用2010版也是,我还没有领会好。

另外,出货来料分析是分解到最后一级BOM吧。
sdfdfdfdfdfdfdf.jpg
方式特别好,如果在【出货来料分析】和【物料控制分析】中都具有这种
功能都就完美无缺了。{:soso_e121:}奢望就是贪图。

TA的精华主题

TA的得分主题

发表于 2011-10-17 21:46 | 显示全部楼层
出货来料分析的机理如下:
1. 在物料表中提取所有来源(阶层)为客供的物料,作为B:D列数据
2. 按条件在出货记录表中提取出货记录,按出货产品分解到底层,汇总各底层物料的用量,作为F列数据
3. 按条件在客户子品来料表中提取记录,汇总后作为E列数据。
所以说:出货来料分析是分解到最后一级的。
出货来料分析,按你出的题意理解,应该是出货产品所耗用的客户来料与客户实际供料作对比,所以我认为:按单级或多级展开分析没有意义。
同理,物料控制分析,我的理解是要对某一制造单元(如组立线1或成型2等),产出所需耗用的物料与实际领用物料(包括退库)之间的对比,所以在该表中进行多级汇总和多级展开分析同样没有意义。
另外尚需补充的,在成品入库分解为子品和出货分解为子品两个表中,多级展开分解时,在第二级以后的子品入库数,在逻辑上是有问题的(未作连乘处理),设置此功能,仅供察看产品是如何分解到子品的参考。

进BOM表时出错,你点一下调试,然后贴一张图上来。

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-10-17 22:52 | 显示全部楼层
好的,暂时这样,有空仔细拜读。本系统是一个很繁琐的问题,你耗时费心解决了。
里面的技艺  思路值得会VBA的人好好看看,我想从中会懂得不少BOM的实质含义。
我属于个人的爱好提出问题,稽核物料自己尝试使用会方便。你能有兴趣帮忙很庆幸。

BOM进入后,出现的画面:不知可否妨碍操作。
add.jpg

TA的精华主题

TA的得分主题

发表于 2011-10-17 23:31 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
你把上一条语句前的[']去掉即可。

TA的精华主题

TA的得分主题

发表于 2011-10-17 23:31 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 jiminyanyan 于 2011-10-17 23:36 编辑

三坛老窖 老师辛苦了
yangkd 这位兄弟能申请点经费来,给老师买点酒喝喝,提提神,嘿嘿。

TA的精华主题

TA的得分主题

发表于 2011-10-17 23:44 | 显示全部楼层
jiminyanyan 发表于 2011-10-17 23:31
三坛老窖 老师辛苦了
yangkd 这位兄弟能申请点经费来,给老师买点酒喝喝,提提神,嘿嘿。

呵呵,得到兄弟你的关注,可比喝酒更提神哦!

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-10-17 23:54 | 显示全部楼层
"你把上一条语句前的[']去掉即可"这样执行可以了。楼上jiminyanyan仁兄说申请费用
给老窖兄提提神,哈哈。没问题啊,只要兄能来我打工之地来玩,我本人一定表谢意。

TA的精华主题

TA的得分主题

发表于 2011-10-19 04:40 | 显示全部楼层
老窖兄:
     第一次看你的帖,被你这种无私奉献的精神所感动!-----敬礼!!!
你的这个课题实用性很强,但是由于初学VBA还是不怎么看的懂你的代码,
可否讲解一下开单工作表的代码?不胜感激--坐着板凳求学中。。。。。。
  
Range("I3").ClearContents
    Range("C5:I5").ClearContents
   
    填充列表框
    设置格式 Range("B6:I60")
    设置边框 Range("B6:I60")
    Range("E3").Select
   
    Me.Protect
    Application.Calculation = xlAutomatic
    Application.ScreenUpdating = True
    Application.EnableEvents = True
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Target.Column <= 2 Then Exit Sub
    If Target.Offset(, -1) <> "组立品番" Then Exit Sub
   
    On Error Resume Next
   
    Application.EnableEvents = False
    Application.ScreenUpdating = False
    Application.Calculation = xlManual
    Me.Unprotect
   
    Dim i&
   
    设置格式 Range("B" & Target.Row + 1 & ":I60")
    设置边框 Range("B" & Target.Row + 1 & ":I60")
   
    i = 1
    If 填充子项数据(Target, i) Then
        Do Until Len(Target.Offset(i)) = 0
            Target.Offset(i, -1) = i
            Target.Offset(i, 3).Formula = "=D$" & Target.Row & "*E" & Target.Offset(i).Row
            Target.Offset(i, 4).Formula = "=F" & Target.Offset(i).Row
            Target.Offset(i, 5).Formula = "=F" & Target.Offset(i).Row
            i = i + 1
        Loop
        
        Target.Offset(, -1).Resize(1, 8).Copy Target.Offset(i + 1, -1)
        Target.Offset(i + 1).Resize(1, 2).ClearContents
        
        With Target.Offset(1, 4).Resize(i - 1, 3)
            .Locked = False
            .Interior.Color = Target.Interior.Color
        End With
    End If
   
    Me.Protect
    Application.Calculation = xlAutomatic
    Application.ScreenUpdating = True
    Application.EnableEvents = True
   
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
   
    If Target.Offset(, -1) = "组立品番" Then
        With Me.ComboBox1
            .Left = Target.Left
            .Top = Target.Top
            .Width = Target.Width
            .Height = Target.Height
            .Visible = True
        End With
    Else
        Me.ComboBox1.Visible = False
    End If
   
End Sub

Private Sub ComboBox1_Click()
    With Me.ComboBox1
        .TopLeftCell.Value = .Value
        .TopLeftCell.Offset(0, 1).Activate
    End With
End Sub

Private Sub 填充列表框()
    Dim cnn As ADODB.Connection, rs As ADODB.Recordset
    Dim i%, Sql$, strL$, firstAddr$
    On Error Resume Next
   
    Me.ComboBox1.Clear
    Set cnn = New ADODB.Connection
    Set rs = New ADODB.Recordset
   
    cnn.Open "provider=microsoft.jet.oledb.4.0;extended properties='excel 8.0;hdr=yes;';Data Source=" & ThisWorkbook.FullName
    Sql = "select distinct [成品料号] from [ok改基础BOM_子品原料需求结存$B:G]"
    rs.Open Sql, cnn, adOpenKeyset, adLockOptimistic
   
    For i = 1 To rs.RecordCount
        Me.ComboBox1.AddItem rs!成品料号
        rs.MoveNext
    Next i
   
    rs.Close
    cnn.Close
    Set rs = Nothing
    Set cnn = Nothing
End Sub

TA的精华主题

TA的得分主题

发表于 2011-10-19 14:14 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
tanqinbo 发表于 2011-10-19 04:40
老窖兄:
     第一次看你的帖,被你这种无私奉献的精神所感动!-----敬礼!!!
你的这个课题实用性很强 ...

兄弟过誉了。
这样吧,给点时间,我在上一个版本的代码中,加一些注释后,再发一个上来,希望能对你理解有所帮助。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2011-10-19 19:16 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
期待老窖兄的的讲解帖!
-----Hold 住!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-17 07:21 , Processed in 0.044099 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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