Sub T1()
Range("E:F").Clear
MyC = 4
r = 3
AddX = 1
T = ""
m = 0
For i = 1 To MyC
For j = i To MyC
r = r + 1
If T = "" Then
T = Cells(1, j)
m = m + Cells(2, j)
Else
T = T & "+" & Cells(1, j)
m = m + Cells(2, j)
End If
Cells(r, 5) = T
Cells(r, 6) = m
Next j
T = ""
m = 0
Next i
End Sub作者: stillfish00 時間: 2016-3-18 14:25
Function GG1(id_ar, ByVal id_ar_value_max As Long) As Boolean
Dim ub&, w&, k&
ub = UBound(id_ar)
id_ar(ub) = id_ar(ub) + 1
If id_ar(ub) > id_ar_value_max Then
For w = ub - 1 To LBound(id_ar) Step -1
If (id_ar(w) + UBound(id_ar) - w) < id_ar_value_max Then
id_ar(w) = id_ar(w) + 1
For k = w + 1 To ub
id_ar(k) = id_ar(k - 1) + 1
Next
GG1 = True
Exit Function
End If
Next
Else
GG1 = True
End If
End Function作者: jackyq 時間: 2016-3-18 17:36
本帖最後由 jackyq 於 2016-3-18 17:37 編輯
Sub 執行我()
欄位_Max = Cells(, "D").Column
For cc = 1 To 欄位_Max
ReDim 欄位(1 To cc) As Long
ReDim Result(1 To cc) As String
For w = 1 To cc: 欄位(w) = w: Next
Do
money= 0
For w = LBound(欄位) To UBound(欄位)
money = money + val(Cells(2, 欄位(w)))
If money > 105 Then Exit For
Result(w) = Cells(1, 欄位(w))
Next
If money <= 105 Then
Result_s = Result_s & Join(Result, "+") & " = " & money & vbCrLf
End If
Loop Until Not GG1(id_ar:=欄位, id_ar_value_max:=欄位_Max)
Next
If Result_s <> "" Then MsgBox Result_s
End Sub作者: qmi 時間: 2016-3-19 00:07