ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 如何利用VBA(或函数)根据库存数和BOM清单,计算出生产成品的数量

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-4-14 17:42 | 显示全部楼层
  1.     Set SH0 = Sheets("BOM&物料库存")
  2.     Set SH1 = Sheets("齐套")
  3.    
  4.     Str_coon = "HDR=yes';Data Source =" & ThisWorkbook.FullName     '//OFFICE2003,2007 通用
  5.     For IROW = 2 To SH1.Range("A65536").End(3).Row
  6.         StrSQL = "SELECT MIN(产品个数) AS 最少个数"
  7.         StrSQL = StrSQL & " FROM ("
  8.         StrSQL = StrSQL & "SELECT 物料代码,物料库存数,配套后剩余物料库存库存"
  9.         StrSQL = StrSQL & "," & SH1.Cells(IROW, 1).Value & " AS 产品耗费"
  10.         StrSQL = StrSQL & ",INT(物料库存数/" & SH1.Cells(IROW, 1).Value & ") AS 产品个数"
  11.         StrSQL = StrSQL & " FROM [" & SH0.Name & "$A2:F]"
  12.         StrSQL = StrSQL & " WHERE " & SH1.Cells(IROW, 1).Value & ">0"
  13.         StrSQL = StrSQL & ") "
  14.         SQLARR = GET_SQL_To_Arr(StrSQL, Str_coon, False)
  15.         
  16.         SH1.Cells(IROW, 2).Value = SQLARR(0, 0)
  17.     Next
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-4-14 17:43 | 显示全部楼层
计算产品配套数量.rar (28.25 KB, 下载次数: 231)

TA的精华主题

TA的得分主题

发表于 2018-4-14 18:44 | 显示全部楼层

按楼主的第2个条件,当为A产品齐套了4个成品之后,需要对库存数量做相应的出库预减之后,才能进行下一个产品的齐套计算。

TA的精华主题

TA的得分主题

发表于 2018-4-15 10:56 | 显示全部楼层
R10200104物料库存数=4,A产品做4个以后,B产品就做不成了,是不是需要这样考虑?

TA的精华主题

TA的得分主题

发表于 2018-4-15 11:23 | 显示全部楼层
''就是一个文字题,怎么理解怎么写。结果为4、4、6

Option Explicit

Sub test()
  Dim i, j, t, arr
  arr = Sheets("BOM&物料库存").[a1].CurrentRegion
  ReDim brr(1 To 3, 1 To 1)
  For i = 1 To 3
    brr(i, 1) = 10 ^ 8
    For j = 3 To UBound(arr, 1)
      If arr(j, i + 3) > 0 Then
        t = Int(arr(j, 2) / arr(j, i + 3))
        If brr(i, 1) > t Then brr(i, 1) = t
      End If
  Next j, i
  Sheets("齐套").[b2].Resize(UBound(brr, 1)) = brr
End Sub

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2019-7-18 22:07 | 显示全部楼层
没有考虑占料,以上计算都没用

TA的精华主题

TA的得分主题

发表于 2020-4-11 13:44 | 显示全部楼层
蓝桥玄霜 发表于 2018-4-15 10:56
R10200104物料库存数=4,A产品做4个以后,B产品就做不成了,是不是需要这样考虑?

我理解的是:
1.A,B,C产品不等于0的对应的原料是 ABC产品的配方,利用现在的库存,分别算出 A ,B,C各产品的套数,至于 他要做什么样的产品,就不管了
2.反之,如果库存不满足 A B C各产品的BOM用量,就不求出产品套数

我觉得可以改变以下表的形式
把标准配方放一个表:A产品+料号+数量
                                B产品+料号+数量
                                C产品+料号+数量
物料库存为一个表:料号+数量



TA的精华主题

TA的得分主题

发表于 2021-5-12 20:23 | 显示全部楼层
一把小刀闯天下 发表于 2018-4-15 11:23
''就是一个文字题,怎么理解怎么写。结果为4、4、6

Option Explicit

能做一个可以扣减已配套物料,再继续计算配套数吗

TA的精华主题

TA的得分主题

发表于 2024-8-12 10:45 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
认真审题后写的求助问题描述——已知:产品“配方”(BOM)内容(表中D,E,F列),和原料库存量(表中B列)。 求助问题有四: 1,根据现有原料库存量最多可以生产多少A产品?  2,生产最多的A产品后剩余的原料量还可以最多生产多少B产品?  3,生产最多的A和B产品后剩余的原料量,还可以最多生产多少C产品? 4,按序生产最多的A,B,C产品后,还剩余多少原料量?    ——可能是这样的?
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-18 12:41 , Processed in 0.036304 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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