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

¤T­ÓÄæ¦ì¹ï¤ñ¸ê®Æ¤ÎŪ¨ú¸ê®Æ

¥»©«³Ì«á¥Ñ mdr0465 ©ó 2024-3-1 12:56 ½s¿è

¦^´_ 3# Andy2483

Andy ¾Ç¥S,§A¦n
¤j«á½ú¥¿¦b§V¤O­«·Å©Ò¦³¾Ç¥Sµ¹¦U¦ì½×¾Â«á¾Çªº¸Ô²Óª`¸Ñ,
¦ý¦³¤@ÂI¤j«á½ú¤£©ú¥Õªº,½Ð¾Ç¥S¤£¹½¨ä·Ð«ü¾É«á½ú

½Ð¬Ý¥H¤Uªº¬õ¦â¬O§Ú¤£©ú¥Õªº¦a¤è

Option Explicit
Sub TEST()
Dim Brr, Z, i&, T$
'¡ô«Å§iÅܼÆ:&¬Oªø¾ã¼Æ,$¬O¦r¦êÅܼÆ,¨S¦³«ü©wªº¬O³q¥Î«¬ÅܼÆ
Set Z = CreateObject("Scripting.Dictionary")
'¡ô¥OZÅܼƬO ¦r¨å
Brr = Range([KH!E3], [KH!A65536].End(xlUp))
'¡ô¥OBrrÅܼƬO¤Gºû°}¦C,¥HÀx¦s®æ­È±a¤J
For i = 1 To UBound(Brr)
'¡ô³]¶¶°j°é!¥Oi±q1 ¨ìBrr°}¦CÁa¦V³Ì¤j¯Á¤Þ¦C¸¹
   T = Trim(Brr(i, 2)) & "/" & Val(Brr(i, 3)) & "/" & Val(Brr(i, 4))
   '¡ô¥OTÅܼƬO3­ÓÄæ¦ìBrr°}¦C­È¥H"/"²Å¸¹¦ê±µ¦¨ªº·s¦r¦ê
   Z(T) = Z(T) + Val(Brr(i, 5))
   '¡ô¥OTÅܼƬ°key,item²Ö¥[²Ä5ÄæBrr°}¦C­È


³o¬OZ(T) (¬O¼g¤Jkey­È) =  Z(T) + Val(Brr(i, 5)) (¬O¼g¤Jitem­È)

Next
Brr = Range([Data!G1], [Data!A65536].End(xlUp))
'¡ô¥OBrrÅܼƬO¤Gºû°}¦C,¥H¥tªíÀx¦s®æ­È±a¤J
For i = 2 To UBound(Brr)
'¡ô³]¶¶°j°é!¥Oi±q1 ¨ìBrr°}¦CÁa¦V³Ì¤j¯Á¤Þ¦C¸¹
   T = Trim(Brr(i, 1)) & "/" & Val(Brr(i, 2)) & "/" & Val(Brr(i, 3))
   '¡ô¥OTÅܼƬO3­ÓÄæ¦ìBrr°}¦C­È¥H"/"²Å¸¹¦ê±µ¦¨ªº·s¦r¦ê
   Brr(i - 1, 1) = Z(T)
   '¡ô¥OBrr°}¦C²Ä1Äæ¼g¤J¬dZ¦r¨åªºitem­È

³o¤@¥y, ¬°¦ó³o¼Ëªº½s¼g¬O¼g¤Jitem­È¦Ó¤£¬O¼g¤Jkey­È©O?
Next
With [Data!D2].Resize(UBound(Brr) - 1)
'¡ô¥H¤U¬OÃö©óµ²ªGÀx¦s®æªºµ{§Ç
   .Value = Brr
   '¡ô¥OÀx¦s®æ­È¥HBrr°}¦C­È¼g¤J
   .Offset(, 1) = "=D2-SUM(F2:" & [Data!IV1].End(xlToLeft)(2).Address(0, 0) & ")"
   '¡ô¥Oµ²¾lÄæ¼g¤J¤½¦¡ Åý¦Û°Ê¹Bºâ
End With
End Sub

TOP

¦^´_ 5# Andy2483

Andy ¾Ç¥S,
ÁÂÁ§A¸Ô²Ó©M­@¤ßªº¸ÑÄÀ,
¤j«á½úÀò¯q¨}¦h, ÁÂÁ«ü¾É

TOP

¦^´_ 14# ­ã´£³¡ªL

ÁÂÁ­ã¤j´£¨Ñ¦³¥Î¸ê®Æ, ÁÂÁÂ

TOP

        ÀR«ä¦Û¦b : °µ¸Ó°µªº¨Æ¬O´¼¼z¡A°µ¤£¸Ó°µªº¨Æ¬O·Mè¡C
ªð¦^¦Cªí ¤W¤@¥DÃD