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

[µo°Ý] ½Ð±Ð¦U¦ì«e½úvba Ãö©ó¨ú¤£­«´_­È°ÝÃD~

¦^´_ 1# ii31sakura
¸Õ¸Õ¬Ý¡I
test²Î­p.rar (17.92 KB)

TOP

¦^´_ 1# ii31sakura
°õ¦æµ²ªG¡G

TOP

¥»©«³Ì«á¥Ñ c_c_lai ©ó 2014-5-31 10:52 ½s¿è

¦^´_ 1# ii31sakura
¨S¯d·N§A¤´¬O¤p¾Ç¥Íµ¥¯Å¡A¬OµLªk¤U¸üªº¡C
©Ò¥H±Nµ{¦¡½X¶K¤W¡G
  1. Sub Ex()
  2.     Dim ²Ä¤@ºØ²Õ¦X As Object, ²Ä¤GºØ²Õ¦X As Object, rng As Range
  3.    
  4.     Set ²Ä¤@ºØ²Õ¦X = CreateObject("Scripting.Dictionary")
  5.     Set ²Ä¤GºØ²Õ¦X = CreateObject("Scripting.Dictionary")
  6.    
  7.     With Sheets("DATA")
  8.         '  .[F:L].ClearContents                         '  «O¯d½Æ»s¼ÐÃD
  9.         .[F12:L65535].ClearContents
  10.         For Each rng In .Range([A2], [A2].End(xlDown))   '  ¨C¤é
  11.             If IsEmpty(²Ä¤@ºØ²Õ¦X(rng.Value & rng.Offset(, 1).Value & rng.Offset(, 2).Value)) Then               '  ¼g¤J¦r¨å
  12.                 ²Ä¤@ºØ²Õ¦X(rng.Value & rng.Offset(, 1).Value & rng.Offset(, 2).Value) = Array(rng.Value, rng.Offset(, 1).Value, rng.Offset(, 2).Value, Val(rng.Offset(, 3).Value))
  13.             Else
  14.                 ²Ä¤@ºØ²Õ¦X(rng.Value & rng.Offset(, 1).Value & rng.Offset(, 2).Value) = Array(rng.Value, rng.Offset(, 1).Value, rng.Offset(, 2).Value, ²Ä¤@ºØ²Õ¦X(rng.Value & rng.Offset(, 1).Value & rng.Offset(, 2).Value)(3) + Val(rng.Offset(, 3).Value))
  15.             End If
  16.             
  17.             If IsEmpty(²Ä¤GºØ²Õ¦X(rng.Offset(, 1).Value & rng.Offset(, 2).Value)) Then               '  ¼g¤J¦r¨å
  18.                 ²Ä¤GºØ²Õ¦X(rng.Offset(, 1).Value & rng.Offset(, 2).Value) = Array(rng.Offset(, 1).Value, rng.Offset(, 2).Value, Val(rng.Offset(, 3).Value))
  19.             Else
  20.                 ²Ä¤GºØ²Õ¦X(rng.Offset(, 1).Value & rng.Offset(, 2).Value) = Array(rng.Offset(, 1).Value, rng.Offset(, 2).Value, ²Ä¤GºØ²Õ¦X(rng.Offset(, 1).Value & rng.Offset(, 2).Value)(2) + Val(rng.Offset(, 3).Value))
  21.             End If
  22.         Next
  23.         
  24.         .[F12].Resize(²Ä¤@ºØ²Õ¦X.Count, 4) = Application.Transpose(Application.Transpose(²Ä¤@ºØ²Õ¦X.items))   '  ¼g¤J¤u§@ªí
  25.         .[J12].Resize(²Ä¤GºØ²Õ¦X.Count, 3) = Application.Transpose(Application.Transpose(²Ä¤GºØ²Õ¦X.items))   '  ¼g¤J¤u§@ªí
  26.     End With
  27.     '  ÄÀ¥Xª«¥óÅܼÆ
  28.     Set ²Ä¤@ºØ²Õ¦X = Nothing
  29.     Set ²Ä¤GºØ²Õ¦X = Nothing
  30. End Sub
½Æ»s¥N½X

TOP

        ÀR«ä¦Û¦b : ¡i®É¶¡¦¨´N¤@¤Á¡j®É¶¡¥i¥H³y´N¤H®æ¡A¥i¥H¦¨´N¨Æ·~¡A¤]¥i¥HÀx¿n¥\¼w¡C
ªð¦^¦Cªí ¤W¤@¥DÃD