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

[µo°Ý] (¤w¸Ñ¨M)¦p¦óÂ^¨ú¤£¦PÃþ§O¥N¸¹ªº³Ì«á¤@µ§¸ê®Æ

ÁÂÁ½׾Â,ÁÂÁ¦U¦ì«e½ú
«á¾ÇÂǦ¹©«½m²ßVBA°}¦C»y¦r¨å,¾Ç²ß¤è®×¦p¤U,½Ð¦U¦ì«e½ú«ü±Ð

°õ¦æ«e:


°õ¦æµ²ªG:



Option Explicit
Sub TEST()
Dim Brr, V, Y, R&, i&, T$, M%, K%
'¡ô«Å§iÅܼÆ
Set Y = CreateObject("Scripting.Dictionary")
'¡ô¥OYÅܼƬO ¦r¨å
Brr = Range([A1], Cells(Rows.Count, "A").End(xlUp))
'¡ô¥OBrrÅܼƬO ¤Gºû°}¦C,¥HAÄæÀx¦s®æ­È±a¤J°}¦C¤¤
For i = 2 To UBound(Brr)
'¡ô³]¶¶°j°é
   T = Left(Brr(i, 1), 2)
   '¡ô¥OTÅܼƬO¥ªÃä2¦rªº¦r¦ê
   K = Right(Brr(i, 1), 3)
   '¡ô¥OKÅܼƬO¥kÃä3¦rÂର¼Æ­È(¦]¬°K«Å§i¬O¼Æ­È)
   M = Y(T)
   '¡ô¥OMÅܼƬOTÅܼƬdY¦r¨å±o¨ìitem,
   '¤@¶}©lY¦r¨å¸Ì¨S¦³¦¹key®É,item¬Oªì©l­ÈÂà¾ã¼Æ=0,
   '¦]¬°M«Å§i¬O¾ã¼Æ­È

   If M < K Then M = K
   '¡ô³o¬O­n¤ñ¸û¥X³Ì¤j­È
   Y(T) = M
   '¡ô¥O¥HTÅܼƷíkey,item¬O·í¤Uªº³Ì¤j­È©ñ¦^¦r¨å
Next
For Each V In Y.KEYS
'¡ô³]³v¶µ°j°é!¥OVÅܼƬO Y¦r¨åªºkey
   R = R + 1
   '¡ô¥ORÅܼƲ֥[ 1
   Brr(R, 1) = V & Format(Y(V), "000")
   '¡ô¥O¥H²Õ¦X¦r¦ê(µ²ªG¸ê®Æ)Âл\±¼­ìBrr°}¦C­È,
   '²¦³ºBrrªº­ì¸ê®Æ¤w¸g¥Î¤£¨ì¤F,
   '¦p¦¹´N¤£¥²¦A³]¤@­Ó°}¦C¸Ëµ²ªG¸ê®Æ
   '¦ý¬O»Ý­n·Ç½Tªºª¾¹Dµ²ªG¸ê®Æ¨ì°}¦Cªº­þ¤@¦C,¦pRÅܼƩÎY.Count

Next
[J2].Resize(Y.Count, 1) = Brr
'¡ô¥OBrr§½³¡¸ê®Æ(µ²ªG¸ê®Æ)¼g¤JÀx¦s®æ¤¤,¶W¹L¦¹½d³òªºBrr°}¦C­È©¿²¤
Set Y = Nothing: Erase Brr
'¡ô¥OÄÀ©ñÅܼÆ
End Sub
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

        ÀR«ä¦Û¦b : ¤@­Ó¤H¤£©È¿ù¡A´N©È¤£§ï¹L¡A§ï¹L¨Ã¤£Ãø¡C
ªð¦^¦Cªí ¤W¤@¥DÃD