|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
本帖最后由 一把小刀闯天下 于 2020-6-24 12:20 编辑
'终于看明白了,汇总时还有考虑数量,,,
Option Explicit
Sub test()
Dim arr, sum(99), i, j, p
arr = [a1].CurrentRegion.Offset(1).Resize(, 8).Value
ReDim brr(1 To UBound(arr, 1), 1 To 1)
p = arr(UBound(arr, 1) - 1, 1)
For i = UBound(arr, 1) - 1 To 1 Step -1
If arr(i, 1) >= p Then
brr(i, 1) = arr(i, 8)
Else
brr(i, 1) = arr(i, 3) * sum(p)
For j = arr(i, 1) + 1 To p
sum(j) = 0
Next
End If
sum(arr(i, 1)) = sum(arr(i, 1)) + arr(i, 3) * brr(i, 1)
p = arr(i, 1)
Next
[k2].Resize(UBound(brr, 1)) = brr
MsgBox "总质量:" & brr(1, 1)
End Sub
|
评分
-
3
查看全部评分
-
|