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

[µo°Ý] ½Ð±Ð¡G¥|­Ó±ø¥ó¤Uªº²Ö­p

[µo°Ý] ½Ð±Ð¡G¥|­Ó±ø¥ó¤Uªº²Ö­p

¦³¤@¨t¦CÀɮסA¨C­Ó¦@ 8 ­ÓÄæ¦ì¡A
¨C­ÓÀɮ׬ù¦³ 300 ~1500 ­Ó°O¿ý¡A
ÀÉ®×µ²ºc¦p¤U¡G

  A    B     C     D       E         F
¤é´Á  ±^¦ì  ©m¦W  ÅU«È  ¤u§@¦aÂI  ¾P°âª÷ÃB

­n¨D¡G¦b¥DÀɪº bReport ¤¤·JÁ`¥X¥H¤U¸ê®Æ¡G

1- °²¦p b c d e Äæ¬Û¦Pªº¡A«h²Ö¥[ f Äæ¡C
2- ¥u­n b c d e Ä榳¤@¶µ¤£¦Pªº¡A«h¤À¦C¥X¨Ó¡C

¦p¡G

  A    B      C       D       E         F
¤é´Á  ±^¦ì   ©m¦W    ÅU«È  ¤u§@¦aÂI  ¾P°âª÷ÃB
10/12   A    ±i¤T    ³¯¥Í    ©±¤@     50000
10/12   B    ±i¤T    ³¯¥Í    ©±¤G     40000
10/12   A    ±i¤T    §õ¥Í    ©±¤@     30000
10/12   C    ±i¤T    §õ¥Í    ©±¤@     20000
10/12   C    ±i¤T    §õ¥Í    ©±¤@     10000
10/12   A    ±i¤T    ³¯¥Í    ©±¤@     65000

¦pªG¡G

  A    B      C       D       E         F
¤é´Á  ±^¦ì   ©m¦W    ÅU«È  ¤u§@¦aÂI  ¾P°âª÷ÃB
10/12   A    ±i¤T   ³¯¥Í     ©±¤@      115000
10/12   B    ±i¤T   ³¯¥Í     ©±¤G       40000
10/12   A    ±i¤T   §õ¥Í     ©±¤@       30000
10/12   C    ±i¤T   §õ¥Í     ©±¤@       30000


§Ë¤F´X¤Ñ³£·d¤£©w¡A¥u¦n¦V¦U¦ì¤j¤j¨D±Ï¡C¥ýÁ¤F¡C

Book001.zip (3.89 KB)

§Ñ¤F¤@ÂI¡A¦Û½×¾Â´«¤F·s¨t²Î«á¡A
§Ú¤SÅܦ^¤p¾Ç¥Í¡A¤£¯à¤U¸üÀɮפF¡C

TOP

¦^´_ 2# storylai


    ¼Ï¯Ã¤ÀªRªí´N¯à»´ÃP¹F¦¨
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

¦^´_  storylai


    ¼Ï¯Ã¤ÀªRªí´N¯à»´ÃP¹F¦¨
Hsieh µoªí©ó 2011-12-12 17:53


ÁÂÁ¦^À³¡C
°ÝÃD¬O¡G
1- ¥t¤@­Ó³¡ªù­n¡u¤@¦æ¤@¦æ¡vªº°O¿ý¨Ó°µ¤ÀªR¡C
2- ·Q¥Î VBA °µ¡A¦]¬°¨C¤Ñ­n¥Ñ¨ä¥¦¤j©j¨Ó³B²z¤Q¦h­ÓÀɮסC

§Ú¬O¥ý±NÀɮתº¸ê®ÆŪ¤J¡u¼Æ²Õ¡v¡AµM«á¥Î°j°é¨Ó¤@­Ó¤@­Ó¹ï¤ñ¡A
¦ý§Þ³N¤£ºë¡AÁ`¦³³\¦h°ÝÃD¡C¯uÀY¯k¡C

TOP

¥»©«³Ì«á¥Ñ register313 ©ó 2011-12-12 22:19 ½s¿è

¦^´_ 4# storylai

      ¥Î ¸ê®Æ/¤p­p ¥i¥H¶Ü
    1.¦bGÄæ¥[¤J»²§UÄæ(BCDEÄ椧µ²¦X)
      2.GÄæ­n±Æ§Ç
    3.¸ê®Æ/¤p­p
    2.jpg
      4.µ²ªG
   

TOP

  1. Sub Ex()
  2. Set d = CreateObject("Scripting.Dictionary")
  3. For Each a In Range([A2], [A2].End(xlDown))
  4.    mystr = Join(Application.Transpose(Application.Transpose(a.Resize(, 5))), ",")
  5.    d(mystr) = d(mystr) + a.Offset(, 5)
  6. Next
  7. [A1:F1].Copy [I1]
  8. For Each ky In d.keys
  9. ar = Split(ky, ",")
  10. ar(0) = CDate(ar(0))
  11. [I2].Offset(i, 0).Resize(, 5) = ar
  12. [I2].Offset(i, 5) = d(ky)
  13. i = i + 1
  14. Next
  15. End Sub
½Æ»s¥N½X
¦^´_ 4# storylai
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

¦^´_ 6# Hsieh

ÁÂÁ¡A¥i¥Î¤F¡C
«Ü¼F®`¡A¤ñ§Ú­ì¨Ó¼g¤F 50 ¦h¦æªºÁÙ§Ö³t¡C

·Q½Ð±Ð¡G
05.   d(mystr) = d(mystr) + a.Offset(, 5)

         mystr ¬O§Ú­n¨Dªº¥|­Ó±ø¥ó¡A¨º  d(mystr)  ¬O§â¥¦­Ì©ñ¶i d ¡C
          a.Offset(, 5) ¡A§Ú¸Õ¥X¨Ó¬O¾P°âÃB¡C
      
     ´N¬O¤£©ú¥Õ³o¥yªº¥Î·N¡C¬O¤£¬O´N¬O¦b°µ¡u¾P°âÃBªº²Ö¥[¡v¡H

TOP

¥»©«³Ì«á¥Ñ storylai ©ó 2011-12-16 13:05 ½s¿è

¦^´_ 6# Hsieh

¦ü¥G¬ÝÀ´¤F Hsieh ¤jªºµ{¦¡¤F¡C½Ð¤j®a«ü±Ð¡C

Sub Ex2()
   
    Set d = CreateObject("Scripting.Dictionary") '«Ø¥ß¤@­Ó d ¦r¨å(®e¾¹)
    For Each a In Range([A2], [A2].End(xlDown))  '«Ø¥ß°j°é¡A¶¶§ÇŪ¤J¨C¤@¦C rows ¸ê®Æ
                                                 ' [A2].End(xlDown) ¬O¨ú±o¦³¸ê®Æªº³Ì«á¤@Äæ
                                                 '
        ' ¨Ï¥ÎÂù Transpose ¡A¥i°Ñ¾\¡G
        ' http://forum.twbts.com/redirect. ... 081&fromuid=459
        '
        ' mystr ¬O¼Æ²Õ array ¡A¥Øªº¬O±N²Ä¤@¦C¥þ¼g¥þÅܼơA®æ¦¡¬° "A2,B2,C2,C2,C2"
        ' a.Resize(, 5) ¬O©w¸q¦n ¥Ñ A2 ¦V¥k©µ®i¦Ü²Ä 5 ­ÓÀx¦s®æ¡A§Y C2
        mystr = Join(Application.Transpose(Application.Transpose(a.Resize(, 5))), ",")
        '
        ' d(mystr)       ²Ä¤@¨B¡A«ö°j°é±N mystr ¼Æ²Õ¤J¬°¡u¯Á¤Þ index/keys¡v©ñ¤J d ¦r¨å¤¤
        ' a.Offset(, 5)  ²Ä¤G¨B¡A¦P®É¥Î a.Offset(, 5) ¡A±N 6 Ä檺¡u¾P°âª÷ÃB¡v§@¬° content/items ©ñ¤J d ¦r¨å¤¤
        '
        ' ­«ÂI¬O¡A·í°õ¦æ°j°é®É¡A d ·|¦Û¦æÀ˯Á ¡u¯Á¤Þ index/keys¡v¤¤¬O§_¤w¦³ mystr ³o­Ó¯Á¤Þ¡C
        '         ¦p¨S¦³ªº¡A·|¦Û°Ê·s mystr : a.Offset(, 5)
        '         ¦p¤w¦³ªº¡A·|¦Û°Ê²Ö­p a.Offset(, 5) ªº­È¡C
        '                   ²Ö­p®É¡A¼Æ¦r·|¬Û¥[¡A¤å¦r·|¦ê¦C¡A­Y¤£¦PÃþ«¬·|³ø¿ù¡C
        '
        d(mystr) = d(mystr) + a.Offset(, 5)
        '
    Next   ' °j°éµ²§ô«á¡A¦³Ãöªº¸ê®Æ³B²z¤w§¹¦¨¡Cµ¥«Ý¤U¤@¨Bªº¼g¤J
   
    [A1:F1].Copy [I1]   '±N¼ÐÃD¦C½Æ»s¦Ü I1Äæ¡C
   
    '¶}©l©ó I1 Äæ¼g¦^ d ¦r¨åªº¸ê®Æ
    For Each ky In d.keys                       ' ¥Î ky ÅܼƳv¨B³B²z d.keys(d ¦r¨åªº¯Á¤Þ)
            ar = Split(ky, ",")                 ' §Q¥Î Split «ö , ¤À³Î¡A¨Ã¦s¤J ar ¼Æ²Õ
            ar(0) = CDate(ar(0))                ' ¥Î CDate ¨ç¼Æ±N ¼Æ¦r Åܦ^¤é´Á®æ¦¡
            [I2].Offset(i, 0).Resize(, 5) = ar  ' ¼g¤J"¤é´Á / ±^¦ì / ©m¦W / ÅU«È / ¤u§@¦aÂI" ªº­È(d¯Á¤Þ)
            [I2].Offset(i, 5) = d(ky)           ' ¼g¤J"¾P°âª÷ÃB" ªº­È(d­È)
            i = i + 1
    Next
End Sub

Dict_02.zip (7.17 KB)

TOP

¦^´_ 8# storylai


    ÁÂÁ½׾Â,ÁÂÁ«e½úµoªí¦¹¥DÃD»P½d¨ÒÀÉ
«á¾ÇÂǦ¹¥DÃD½m²ß°}¦C»P¦r¨å,¹B¥Îkey¼Æ¶q¬°«ü©w·sµ²ªG¸ê®Æ¦b°}¦Cªº¦C¦ì¸m
¥H¤U¬O«á¾Ç¾Ç²ß¤è®×,½Ð«e½ú°Ñ¦Ò

°õ¦æ«e:


°õ¦æµ²ªG:



Option Explicit
Sub TEST()
Dim Brr, T, Y, xR, i&, N&, j%
'¡ô«Å§iÅܼÆ:(Brr,T,Y,xR)¬O³q¥Î«¬ÅܼÆ,(i,N)¬Oªø¾ã¼ÆÅܼÆ,j¬Oµu¾ã¼ÆÅܼÆ
Set Y = CreateObject("Scripting.Dictionary")
'¡ô¥OY³o³q¥Î«¬ÅܼƬO ¦r¨å
Set xR = Range([F1], Cells(Rows.Count, 1).End(3)): Brr = xR
'¡ô¥OxR³o³q¥Î«¬ÅܼƬO [F1]¨ìAÄæ³Ì«á¦³¤º®eÀx¦s®æ,
'¥OBrr³o³q¥Î«¬ÅܼƬO ¤Gºû°}¦C,¥HxRÅܼƭȱa¤J°}¦C¸Ì

For i = 2 To UBound(Brr)
'¡ô³]¶¶°j°é!i±q2¨ì Brr°}¦CÁa¦V³Ì¤j¯Á¤Þ¦C¸¹
   For j = 1 To 5: T = T & "|" & Brr(i, j): Next
   '¡ô³]¶¶°j°é!j±q1¨ì 5:¥OT³o³q¥Î«¬ÅܼƬO ¦Û¨­³s±µ"|" ¦A³s±µ
   'i°j°é¦Cj°j°éÄæBrr°}¦C­È¤§«áªº·s¦r¦ê

   If Y(T) = "" Then
   '¡ô¦pªG¥HTÅܼƬdY¦r¨åªºitem­È¬O ªÅ¦r¤¸??
      Y(T) = Y.Count + 1: N = Y(T)
      '¡ô¥O¥HTÅܼƬ°key,item¬O Y¦r¨åkey¼Æ¶q+1ªº¼Æ­È,
      '¥ON³oªø¾ã¼ÆÅܼƬO TÅܼƬdY¦r¨åªºitem­È

      For j = 1 To 6:  Brr(N, j) = Brr(i, j): Next
      '¡ô³]¶¶°j°é!j±q1¨ì 6:¥ONÅܼƦC²ÄjÅܼÆÄæBrr°}¦C­È¬O
      'iÅܼƦC²ÄjÅܼÆÄæBrr°}¦C­È

      Else
         N = Y(T): Brr(N, 6) = Brr(N, 6) + Brr(i, 6)
         '¡ô¥ON³oªø¾ã¼ÆÅܼƬO TÅܼƬdY¦r¨åªºitem­È,
         'NÅܼƦC²Ä6ÄæBrr°}¦C­È¬O¦Û¨­ + iÅܼƦC²Ä6ÄæBrr°}¦C­È

   End If
   T = ""
    '¡ô¥OTÅܼƬOªÅ¦r¤¸
Next
With xR.Offset(0, 8).Resize(Y.Count + 1, 6)
'¡ô¥H¤U¬OÃö©óxRÅܼƦV¥k°¾²¾8Äæ«á±q²Ä1®æÂX®i,
'ÂX®i¦V¤UY¦r¨åkey¼Æ¶q+1¦C,¦V¥kÂX®i6Äæ,Ãö©ó¦¹½d³òÀx¦s®æµ{§Ç

   .EntireColumn.ClearContents
   '¡ô¥O³o¨ÇÀx¦s®æ©Ò¦bªºÄæ¦ìÀx¦s®æ­È²MªÅ
   .Value = Brr
   '¡ô¥O³o¨ÇÀx¦s®æ­È¥HBrr°}¦C­È±a¤J
End With
Set Y = Nothing: Set xR = Nothing: Erase Brr
'¡ôÄÀ©ñÅܼÆ
End Sub
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

        ÀR«ä¦Û¦b : ¤Hªº¤ß¦a¬O¤@²¥¥Ð¡A¤g¦a¨S¦³¼½¤U¦nºØ¤l¡A¤]ªø¤£¥X¦nªºªG¹ê¡C -
ªð¦^¦Cªí ¤W¤@¥DÃD