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

[µo°Ý] ½Ð°Ý¦p¦ó¥ÎVBA¹F¨ì¦h­«¿z¿ï¡A¥H¤Î¿z¿ï«á¨Ì§Ç¶ñ¤J??

¦^´_ 1# yanto913
  1. Sub Ex()
  2. Set dic = CreateObject("Scripting.Dictionary")
  3. Set dicn = CreateObject("Scripting.Dictionary")
  4. With Sheet2
  5. For Each a In .Range(.[H2], .[H65536].End(xlUp))
  6.    dic(a & a.Offset(, 1)) = dic(a & a.Offset(, 1)) + a.Offset(, 2)
  7. Next
  8. For Each a In .Range(.[A2], .[A65536].End(xlUp))
  9.    dicn(a & a.Offset(, 1)) = dicn(a & a.Offset(, 1)) + 1
  10. Next
  11. For Each a In .Range(.[A2], .[A65536].End(xlUp))
  12.     If a <> "" Then
  13.     mytime = Application.Min(a.Offset(, 4), dic(a & a.Offset(, 1)))
  14.     If dicn(a & a.Offset(, 1)) = 1 Then
  15.        a.Offset(, 5) = Val(dic(a & a.Offset(, 1)))
  16.        Else
  17.        a.Offset(, 5) = mytime
  18.        dicn(a & a.Offset(, 1)) = dicn(a & a.Offset(, 1)) - 1
  19.        dic(a & a.Offset(, 1)) = dic(a & a.Offset(, 1)) - mytime
  20.     End If
  21.     End If
  22. Next
  23. End With
  24. End Sub
½Æ»s¥N½X
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

¦^´_ 5# yanto913
½Ð°Ñ¾\VBA»¡©úÀÉ
With ³¯­z¦¡¥iÅý±z¹ï¬Y­Óª«¥ó°õ¦æ¤@¨t¦Cªº³¯­z¦¡¡A¦Ó¤£¥Î­«½Æ«ü¥Xª«¥óªº¦WºÙ¡A¨Ò¦p¡A­n§ïÅܤ@­Óª«¥óªº¦h­ÓÄÝ©Ê¡A¥i¥H¦b With ±±¨îÅvµ²ºc¤¤¥[¤W«ü©wÄݩʪº³¯­z¦¡¡A³o®É«á¥u­n¦A²Ä¤@¦æ«ü¦Wª«¥ó¦WºÙ¡A¦Ó¤§«áªº«ü©wÄݩʳ¯­z¦¡¤¤´N¤£¥Î¦A¥[¤Wª«¥ó¦WºÙ¡C
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

        ÀR«ä¦Û¦b : ­n¥Î¤ß¡A¤£­n¾Þ¤ß¡B·Ð¤ß¡C
ªð¦^¦Cªí ¤W¤@¥DÃD