- 帖子
- 2839
- 主題
- 10
- 精華
- 0
- 積分
- 2895
- 點名
- 0
- 作業系統
- 〔略〕
- 軟體版本
- 〔略〕
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 〔略〕
- 註冊時間
- 2013-5-13
- 最後登錄
- 2025-2-15
|
日期必須是由小而大排序的~~
程式碼簡化不了, 慢慢看吧!- Sub TEST()
- Dim Arr, Brr, Crr, xD, i&, k%, R&, C%, 需求&, 庫存&, V&, TR, Mx&
- Set xD = CreateObject("Scripting.Dictionary")
- Arr = Range([庫存!C1], [庫存!A65536].End(xlUp))
- For i = 2 To UBound(Arr)
- xD(Arr(i, 1)) = Trim(xD(Arr(i, 1)) & " " & i)
- Next i
- '---------------------------------
- Brr = Range([C2], [B65536].End(xlUp))
- ReDim Crr(1 To UBound(Brr), 1 To 100)
- For i = 1 To UBound(Brr)
- C = 1: 需求 = Brr(i, 2)
- TR = Split(Trim(xD(Brr(i, 1)) & " 1"), " ")
- For k = 0 To UBound(TR)
- 庫存 = Val(Arr(TR(k), 3)): If 庫存 = 0 Then GoTo k01
- V = IIf(庫存 < 需求, 庫存, 需求)
- Crr(i, C) = CDate(Arr(TR(k), 2)): Crr(i, C + 1) = V
- 需求 = 需求 - V: 庫存 = 庫存 - V: Arr(TR(k), 3) = 庫存
- C = C + 2
- k01: Next k
- If 需求 > 0 Then Crr(i, C) = "沒有資料": Crr(i, C + 1) = "數量不足"
- Next i
- [D2].Resize(UBound(Crr), 100) = Crr
- End Sub
複製代碼
Xl0000064.rar (14.91 KB)
================================ |
|