[VBA ] 請問關於排序以及累加的問題
小弟想在Excel撰寫一支VBA的程式
規則如下
《Excel資料庫》
Pi Di
Job1 23 40
Job2 25 74
Job3 15 70
Job4 14 60
Job5 21 90
《規則》
※ Di 小的優先排列
※ Pi 累加-- Pi累加的值沒有超過Di,則繼續排下一個
-- Pi累加的值超過Di,則優先拿掉最大的Pi(包含當前的Pi也要納入考慮)
拿掉後 LB +1
Pi累加的值減當前最大的Pi後,繼續排列
全部排完後,計算出 LB
《人腦賽電腦-試演算》
Job Pi Di
Job1 23 40
Job4 23+14=37 60
Job3 37+15=52 70
Job2 52+25=77 74 -> 此時Pi累加值已超過當前Di值,
-> 故拿掉最大的Pi,即Job2的Pi=25 (目前最大)
Job5 52+21=73 90
因為總共拿掉了1個Pi,故LB = 1
《目前遭遇問題》
小弟已經寫好排序的方法
但是不知道該如何進行下一步「累加」與計算「LB」
麻煩前輩們為我起個頭,指點一下,謝謝
Sub 按鈕1_Click()
Columns("C:C").Select
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("C1"),
_
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange Range("A2:C99999")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.161.118.63
推
06/30 00:22, , 1F
06/30 00:22, 1F
→
06/30 00:23, , 2F
06/30 00:23, 2F
→
07/01 23:28, , 3F
07/01 23:28, 3F