我要根据特定项目的每箱最大单位创建一个纸箱。
例如。
Item Quantity MaxQtyPerCarton
A 12 5
B 6 3
通过在Excel中创建行,应该可以得到如下结果
Item CartonQuantity
A 5
A 5
A 2
B 3
B 3
您可以看到项目A数量已基于MaxQtyPerCarton分为三行。
此外,项目B已根据MaxQtyPerCarton分为两行。
有什么想法吗?
最佳答案
VBA方法(只需对其编程)
Option Explicit
Sub Sub1()
Dim iRow1&, iRow2&, zItem$, zQuan&, zMaxQ&, zAmt&
iRow2 = 10 ' ??
For iRow1 = 2 To 3 ' ??
zItem = Cells(iRow1, 1)
zQuan = Cells(iRow1, 2)
zMaxQ = Cells(iRow1, 3)
Do While zQuan > 0
zAmt = zQuan
If zAmt > zMaxQ Then zAmt = zMaxQ
Cells(iRow2, 1) = zItem
Cells(iRow2, 2) = zAmt
iRow2 = iRow2 + 1
zQuan = zQuan - zAmt
Loop
Next iRow1
End Sub