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

[µo°Ý] ¨D§U~±Æµ{¶ñ¤J¤é´Á

¥»©«³Ì«á¥Ñ stillfish00 ©ó 2013-1-11 14:15 ½s¿è

¦^´_ 6# adam2010
¸Õ¸Õ¬Ý
  1. Sub Test()
  2. Dim rng As Range
  3. Dim s1 As Long, s2 As Long
  4. Dim cindex As Long

  5. With Sheets(2)
  6.     Set rng = .Range(.[A1], .[A1].End(xlToRight).End(xlDown).Offset(, -1))  '[¥X³f¤é]¸ê®Æ½d³ò
  7. End With

  8. For Each c In Sheets(1).[E2:E15]    '[¥æ´Á]¸ê®Æ¶ñ¤J½d³ò
  9.     If c.Offset(, -4).Value <> c.Offset(-1, -4).Value Then
  10.         cindex = 1
  11.         s1 = 0  '²Ö¿n¦Ü«e¤@§å¼Æ¶q
  12.         s2 = 0  '²Ö¿n¥X³f»Ý¨D¼Æ¶q
  13.     Else
  14.         s1 = s1 + c.Offset(-1, -1).Value
  15.     End If
  16.    
  17.     Do While s2 <= s1 And cindex < rng.Columns.Count
  18.         cindex = cindex + 1
  19.         s2 = s2 + Application.VLookup(c.Offset(, -4).Value, rng, cindex, False)
  20.     Loop
  21.    
  22.     If s2 <= s1 Then
  23.         c.Value = "NA"
  24.     Else
  25.         c.Value = rng.Cells(1, cindex).Value
  26.     End If
  27. Next
  28. Set rng=Nothing
  29. End Sub
½Æ»s¥N½X

TOP

¦^´_ 8# adam2010
  1. Sub Test()
  2. Dim rng As Range
  3. Dim s1 As Long, s2 As Long
  4. Dim cindex As Long

  5. With Sheets("¥X³f¤é")
  6.     Set rng = .Range(.[A1], .[A1].End(xlToRight).End(xlDown).Offset(, -1))  '[¥X³f¤é]¸ê®Æ½d³ò
  7. End With

  8. For Each c In Sheets("¥æ´Á").Range("E2:E" & Sheets("¥æ´Á").[A1].End(xlDown).Row)   '[¥æ´Á]¸ê®Æ¶ñ¤J½d³ò
  9.     If c.Offset(, -4).Value <> c.Offset(-1, -4).Value Then
  10.         cindex = 1
  11.         s1 = 0  '²Ö¿n¦Ü«e¤@§å¼Æ¶q
  12.         s2 = 0  '²Ö¿n¥X³f»Ý¨D¼Æ¶q
  13.     Else
  14.         s1 = s1 + c.Offset(-1, -1).Value
  15.     End If
  16.    
  17.     Do While s2 <= s1
  18.         cindex = cindex + 1
  19.         If Application.IsError(Application.VLookup(c.Offset(, -4).Value, rng, cindex, False)) Then
  20.             Exit Do
  21.         Else
  22.             s2 = s2 + Application.VLookup(c.Offset(, -4).Value, rng, cindex, False)
  23.         End If
  24.     Loop
  25.    
  26.     If s2 <= s1 Then
  27.         c.Value = "NA"
  28.     Else
  29.         c.Value = rng.Cells(1, cindex).Value
  30.     End If
  31. Next
  32. Set rng = Nothing
  33. End Sub
½Æ»s¥N½X

TOP

        ÀR«ä¦Û¦b : ·O´d¨S¦³¼Ä¤H¡A´¼¼z¤£°_·Ð´o¡C
ªð¦^¦Cªí ¤W¤@¥DÃD