|
楼主 |
发表于 2024-5-24 21:19
|
显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
本帖最后由 lyj344600 于 2024-5-24 21:28 编辑
是这样的,你的思路确实好,但是也太巧妙了,很难想到,所以我就想能不能想个死办法,
就是两个循环处理.第一个(层)循环处理箱子,把这个箱子装满为止,另一个循环处理相应货物,把某个型号的货物处理完为止,现在问题是,中间思路不知怎么处理,而且我觉得,如果这条思路打通了,可以处理很多问题,不用技巧,就是堆循环.
恳请不吝赐教.
现在的问题,就是不知道每次装箱后余数和后一型号数量如何衔接.
到目前为止你的思路还是没看懂,特别这段:
nSl = 162 - nSum
If nSl > arr(i, 2) Then nSl = arr(i, 2)
Crr(m, 3) = nSl
nSum = nSum + nSl
If nSum = 162 Then nSum = 0: n = n + 1
Sub c()
Dim zx As Integer, ys As Integer, k As Integer, n As Integer
Dim cel As Range, arr(1 To 100, 1 To 3) As Variant
For Each cel In Range("a3:a9")
ys = cel.Offset(0, 1).Value - zx
Do While ys > 0
k = k + 1
If ys >= 162 Then
n = n + 1
arr(k, 1) = n & "号箱"
arr(k, 2) = cel.Value
arr(k, 3) = 162
ys = ys - 162
Else
n = n + 1
arr(k, 1) = n & "号箱"
arr(k, 2) = cel.Value
arr(k, 3) = ys
zx = ys
ys = 0
End If
Loop
|
|