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

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

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

¥Ñ©ó¤p§Ìªº¥¨¶°¥\¤O¤£¨¬¡A·Q½Ð±ÐªO¤W¦U¦ì°ª¤â¤U­±³o­Ó°ÝÃD~
·Q­n±N¥X³f¤é

©î¶}¨ì¦U¤l§åªº¥æ´Á

¦p»¡©ú

¸÷¨D¦U¦ì¤j¤j¨ó§U~ÁÂÁ¡I
±Æµ{°ÝÃD.rar (4.82 KB)
Adam

¦^´_ 1# adam2010


    ¸Õ¸Õ¬Ý§a
  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
½Æ»s¥N½X

TOP

·PÁÂDino¤j¤j¨³³tªº¨ó§U¡A¤£¹L°õ¦æ«á
¦³³¡¤À¼Æ¶q³Q§ï¨ì¤F¡A¸ò¤â°Ê±Æªº¤]¦³¤@¨Ç®t²§(¦p¤U¹Ïºñ©³ªº³¡¤À¬O¤â±Æªºµ²ªG)
¤p§Ì¦½ÃC¬Ý¤£¥X¬O­þ¸Ìªº°ÝÃD¡H¦A¦¸Àµ½Ð¨ó§U¡AÁÂÁ¡I

®t²§.jpg (159.89 KB)

®t²§.jpg

Adam

TOP

¦^´_ 3# adam2010


    ±Æµ{À³¸Ó·|¦Ò¼{¨C§å³Ì¤j¶q©Î³Ì¤p¶q¬O¦h¤Ö?
´N¥H1/1ªº250¨Ó»¡¡A¬°¦ó­n±Æ¦¨2§å100¡B200
¤£¯à±Æ100¡B150¶Ü?
µ{¦¡³]­p¥²¶·¦Ò¼{¨ì¾ãÅéÅÞ¿è¬Û³q¡A­Y¦³¯S§O³W©w´N¥²¶·¸Ô²Ó»¡©ú¦UºØ­­¨î±ø¥ó
¤~¯à¾ã²z¥X¦@¦P¯S©Ê¨Ó¸Ñ¨M°ÝÃD
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

·PÁ¶W¯Åª©¥Dªº´£¿ô¡AÀ³¸Ó¬O§Ú´y­z±o¤£°÷²M·¡...
Ãö©óª©¥D©Ò´£ªº°ÝÃD~±Æµ{À³¸Ó·|¦Ò¼{¨C§å³Ì¤j¶q©Î³Ì¤p¶q¬O¦h¤Ö?
´N¥H1/1ªº250¨Ó»¡¡A¬°¦ó­n±Æ¦¨2§å100¡B200¡A¤£¯à±Æ100¡B150¶Ü?

¦]¬°¤½¥q²£«~¯S©Ê§ë®Æ®É¬O¥~ÁʦӨӤ@®Ú¤@®Úªøµu¤£¤@ªº´¹´Î¡A§å¶q«h¬O®Ú¾Ú¤Áªº«p«×­pºâ¥X¨Óªº¤ù¼Æ¡A·|¦³¤W¤U­­¦ý¬OµLªk±±¨î§å¶q¤j¤p
¦Ó¥B¦³®É­Ô¦]¬°¾÷¥x§@·~¯S©Ê(¤@¦¸­n¤Á¨â¬q)¡A©Ò¥H¥i¯à»Ý¨D¥u¦³250¦ý¬O§ë®Æªº®É­Ô»Ý­n§ë2¬q´NÅܦ¨·|¦³¦hªº¤@§å¬O¼È®É¨S¦³¥æ´Áªº

¦]¦¹¥H³o­Ó½d¨Ò¨Ó¬Ý¥u¯à¥ý±N¶W¹L1/1»Ý¨D¶qªº§å¦¸A001~A002©w¥æ´Á¬°1/1¡A¦ÓA002³Ñ¤Uªº50¤ù«h¥i¥Hµ¹1/5
µM«á1/5»Ý­nªº300¤ù´N¥ÎA003....¤@ª½¨ì³Ì«á¤@§å¦]¬°«e­±ªº¼Æ¶q¤w¸g¨¬°÷©Ò¥H´N¼È®É¨S¦³¥æ´Á
ª«®ÆBªº«h¤@¼Ë¦]¬°1/5»Ý¨D550¡A©Ò¥H­n¦³¨â­Ó§å¦¸¤~°÷
¥t¥~´N¬O­q³æªº¥X³f¤é¬O«È¤áµ¹ªº¼Æ¶q¥H¤Î»Ý¨Dªº¤é´Á¡A©Ò¥H¨Ã¤£·|¦³¤@©wªº³W«h

¤£ª¾¹D³o¼Ëªº´y­z¬O¤£¬O¤ñ¸û²M·¡
Adam

TOP

¦A¸É¥R¤@ÂI´N¬O¦³®É­Ô¤]·|¦³
¦³­q³æ¡A¦ý¬O©|¥¼§ë®Æªºª¬ªp¡A©Ò¥H¥u­n±N¥æ´Á¤À°t¨ì¦P¤@­Óª«®Æªº§å¸¹µ²§ô§Y¥i
Adam

TOP

¥»©«³Ì«á¥Ñ 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

¤Ó·P°Ê¤F!·PÁÂstillfish00¤j¤jªº¨ó§U¡A³o¸Ì¯u¬O°ª¤â¦p¶³¡A¨C­Ó³£¬O¤j®v¯Åªº
­è¤~¸Õ¤F ¤@¤U§¹¥þ²Å¦X§Úªº»Ý¨D¡A¤£¹L®M¥Î¨ì¤½¥q¥¿¦¡ªº¤j«¬ÀÉ®×µo²{ÁÙ¦³2­Ó¤p°ÝÃD
1.For Each c In Sheets(1).[E2:E15]    '[¥æ´Á]¸ê®Æ¶ñ¤J½d³ò¡÷¦pªG½d³ò¬OÅܰʪº¸Ó¦p¦ó­×§ï
2.¦pªG¹J¨ì¥æ´Á¸Ì­±¦³¦ý¬O¥X³f¤é¨S¦³ªºª«®Æ´N·|¦]¬°§ä¤£¨ì¥d¦b21¦æ¡÷­n¦p¦ó¼W¥[¤@­Ó§P§OÅý§ä¤£¨ìªº¤]Åã¥ÜNA
¸Ñ¨M¤F³o2­Ó°ÝÃDÀ³¸Ó´N«Ü§¹¬ü¤F
Adam

TOP

¥»©«³Ì«á¥Ñ Hsieh ©ó 2013-1-12 00:10 ½s¿è

¦^´_ 8# adam2010
Sheets("¥æ´Á")ªºDÄæ¼Æ¶q¬O¤H¤u¥ý¿é¤J¦nªº¶Ü?
¸Õ¸Õ¬Ý
  1. Sub ex()
  2. Dim Ar(), Ay(), C As Range, Rng As Range
  3. Set d = CreateObject("Scripting.Dictionary") '¼Æ¶q
  4. Set d1 = CreateObject("Scripting.Dictionary") '¤é´Á
  5. With Sheets("¥X³f¤é")
  6. For Each a In .Range(.[A2], .[A2].End(xlDown)) 'ª«®Æ
  7.   Set Rng = a.EntireRow.SpecialCells(xlCellTypeConstants, xlNumbers) '­q³f
  8.   ReDim Preserve Ar(s) '¼Æ¶q
  9.   ReDim Preserve Ay(s) '¤é´Á
  10.   Ar(s) = 0
  11.   Ay(s) = .Cells(1, Rng.Column)
  12.   s = s + 1
  13.      For Each C In Rng
  14.         cnt = cnt + C
  15.         ReDim Preserve Ar(s)
  16.         ReDim Preserve Ay(s)
  17.         Ar(s) = cnt
  18.         Ay(s) = .Cells(1, C.Column).Value
  19.         s = s + 1
  20.      Next
  21.      d(a.Value) = Ar
  22.      d1(a.Value) = Ay
  23.      Erase Ar: Erase Ay: s = 0: cnt = 0
  24. Next
  25. End With
  26. With Sheets("¥æ´Á")
  27.   For Each a In .Range(.[A2], .[A2].End(xlDown))
  28.      cnt = cnt + a.Offset(, 3)
  29.      If cnt <= Application.Max(d(a.Value)) Or cnt - a.Offset(, 3) < Application.Max(d(a.Value)) Then _
  30.      a.Offset(, 4) = Application.Lookup(cnt, d(a.Value), d1(a.Value)) _
  31.      Else a.Offset(, 4) = "NA"
  32.      If a <> a.Offset(1) Then cnt = 0
  33.   Next
  34. End With
  35. End Sub
½Æ»s¥N½X
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

Dear Hsieh¤j~·PÁ±z¥X¤â¬Û§U
Sheets("¥æ´Á")ªºDÄæ¼Æ¶q¬O¤½¥q³øªí¿z¥X¨Óªº~
¥Î¤½¥qªº¸ê®Æ´ú¸Õ¹L¤§«áHsieh¤jªº¥¨¶°¸Ñ¨M¤F§ä¤£¨ì·|°±¤îªº°ÝÃD¡A¤£¹L¤é´Á¦³¨Ç¥X¤J

......¦½ÃC§ä¤£¥X°ÝÃD©Ò¦b¡A©Ò¥H¦A¦¸¨D§U¡AÁÂÁ¡I
Test-1.rar (31.57 KB)
Adam

TOP

        ÀR«ä¦Û¦b : ¤f»¡¤@¥y¦n¸Ü¡A¦p¤f¥X½¬ªá¡F¤f»¡¤@¥yÃa¸Ü¦p¤f¦R¬r³D¡C
ªð¦^¦Cªí ¤W¤@¥DÃD