返回列表 上一主題 發帖

[發問] 求助~排程填入日期

感謝超級版主的提醒,應該是我描述得不夠清楚...
關於版主所提的問題~排程應該會考慮每批最大量或最小量是多少?
就以1/1的250來說,為何要排成2批100、200,不能排100、150嗎?

因為公司產品特性投料時是外購而來一根一根長短不一的晶棒,批量則是根據切的厚度計算出來的片數,會有上下限但是無法控制批量大小
而且有時候因為機台作業特性(一次要切兩段),所以可能需求只有250但是投料的時候需要投2段就變成會有多的一批是暫時沒有交期的

因此以這個範例來看只能先將超過1/1需求量的批次A001~A002定交期為1/1,而A002剩下的50片則可以給1/5
然後1/5需要的300片就用A003....一直到最後一批因為前面的數量已經足夠所以就暫時沒有交期
物料B的則一樣因為1/5需求550,所以要有兩個批次才夠
另外就是訂單的出貨日是客戶給的數量以及需求的日期,所以並不會有一定的規則

不知道這樣的描述是不是比較清楚
Adam

TOP

回復 3# adam2010


    排程應該會考慮每批最大量或最小量是多少?
就以1/1的250來說,為何要排成2批100、200
不能排100、150嗎?
程式設計必須考慮到整體邏輯相通,若有特別規定就必須詳細說明各種限制條件
才能整理出共同特性來解決問題
學海無涯_不恥下問

TOP

感謝Dino大大迅速的協助,不過執行後
有部分數量被改到了,跟手動排的也有一些差異(如下圖綠底的部分是手排的結果)
小弟汗顏看不出是哪裡的問題?再次懇請協助,謝謝!

差異.jpg (159.89 KB)

差異.jpg

Adam

TOP

回復 1# adam2010


    試試看吧
  1. Private Sub CommandButton1_Click()

  2. Dim LotID As Range, Tagt As Range, Qty As Range
  3. Dim a, TalQty

  4. With sheet2

  5.     For Each LotID In .Range("A2:A" & .[A65536].End(xlUp).Row)
  6.    
  7.         For Each Tagt In .Range("B" & LotID.Row & ":J" & LotID.Row)
  8.         
  9.             If Tagt <> "" Then
  10.         
  11.                 With Sheet1
  12.             
  13.                     a = Application.Match(LotID, .[A:A], 0)
  14.                     aa = Application.CountIf(.[A:A], LotID)
  15.                     TalQty = 0
  16.         
  17.                     For Each Qty In .Range("D" & a & ":D" & (a + aa - 1))
  18.             
  19.                         If Qty.Offset(, 1) <> "" Then GoTo ntxa
  20.                
  21.                         Qty = Qty + TalQty
  22.                
  23.                         If Qty < Tagt Then
  24.                         
  25.                             Qty.Offset(, 1) = sheet2.Cells(1, Tagt.Column)
  26.                             TalQty = Qty
  27.                         
  28.                         Else
  29.                            
  30.                             Qty.Offset(, 1) = sheet2.Cells(1, Tagt.Column)
  31.                             GoTo ntla
  32.                         End If
  33. ntxa:
  34.                     Next Qty
  35. ntla:
  36.                 End With
  37.             End If
  38.             
  39.         Next Tagt
  40.    
  41.     Next LotID

  42. End With
  43.    
  44. End Sub
複製代碼

TOP

        靜思自在 : 要用心,不要操心、煩心。
返回列表 上一主題