ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[µo°Ý] ¼Æ­È±Æ¦C²Õ¦X°ÝÃD

' ¤j¤j¥i¥H¥Î³o­ÓªTÁ|¯Á¤Þ

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

TOP

¥»©«³Ì«á¥Ñ jackyq ©ó 2016-3-18 17:37 ½s¿è

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

TOP

        ÀR«ä¦Û¦b : «H¤ß¡B¼Ý¤O¡B«i®ð¤TªÌ¨ã³Æ¡A«h¤Ñ¤U¨S¦³°µ¤£¦¨ªº¨Æ¡C
ªð¦^¦Cªí ¤W¤@¥DÃD