首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有哪些VBA代码选项可以将数据分组到时间桶中,将其复制到另一个工作表,并循环多个部分(条件)

有哪些VBA代码选项可以将数据分组到时间桶中,将其复制到另一个工作表,并循环多个部分(条件)
EN

Stack Overflow用户
提问于 2011-03-29 04:02:13
回答 1查看 643关注 0票数 1

我有两个文件: File#1包含具有需求信息的客户。只有三个专栏对我来说很重要:

Part#需求数量需求日期该文件有数千行。

File#2是我自己的文件,它有更多的物料需求计划设置:每个部分的列都标有日期(每周):有以下行:需求入库库存净库存

我的总体想法是,我可以通过part#过滤这两个文件,然后让代码"sumif“按周计算总需求,并将其从客户文件复制到相应需求行上的我的文件中。然后为所有part #s循环此命令。

在我的电子表格中,Part #不断地被添加/删除(随着新项目的发展,旧项目的逐步淘汰),所以如果代码不需要维护,因为我的文件是用新的Part更新的,那将是最理想的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-03-29 06:43:12

似乎您可以使用SUMPRODUCT公式将这些数字带入,而无需编码。此示例使用同一工作簿中的两个工作表,因此您必须针对不同的工作簿稍作调整。在Sheet1中,您有三个区域,我将它们命名为rngPartNum、rngDemandDate和rngDemandQty。我使用了随数据扩展的动态范围名称,但您也可以使用覆盖足够多行的单元格引用。数据如下所示

代码语言:javascript
复制
PartNum Demand Qty  DemandDate
1           18          3/28/2011
1           6           3/30/2011
1           6           4/2/2011
2           18          3/28/2011
2           6           3/30/2011
2           6           4/2/2011
2           16          3/28/2011
3           3           3/30/2011
3           15          4/2/2011
3           9           3/28/2011
3           18          3/30/2011

Sheet2在每一行上都有一个周末结束日期和一个部件号。

代码语言:javascript
复制
Part    Week       Demand
1       4/1/2011    24
1       4/8/2011    6
1       4/15/2011   0
2       4/1/2011    40
2       4/8/2011    6
2       4/15/2011   0
3       4/1/2011    30
3       4/8/2011    15
3       4/15/2011   0

demand列中的公式如下

代码语言:javascript
复制
=SUMPRODUCT((rngPartNum=A2)*(rngDemandDate<=B2)*(rngDemandDate>B2-7)*(rngDemandQty))

这是rngDemandQty中所有内容的总和,其中rngPartNum匹配A2,rngDemandDate小于或等于B2,rngDemandDate大于B2的前一周。只要您有每个部件号并在您的Sheet2上使用了足够的周,总数就应该与Sheet1匹配。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5464425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档