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

½Ð°Ý¦p¦ó¦b¸ê®ÆÀɦU¤u§@ªí°µ¾ã²z¦b¬d¸ßÀÉÅã¥Ü¥X¨Ó?

½Ð°Ý¦p¦ó¦b¸ê®ÆÀɦU¤u§@ªí°µ¾ã²z¦b¬d¸ßÀÉÅã¥Ü¥X¨Ó?

¥»©«³Ì«á¥Ñ flask ©ó 2011-8-22 19:09 ½s¿è

½Ð°Ý¦p¦ó¦b¦h­Ó¤u§@ªí±N­nªº¸ê®ÆÅã¥Ü¥X¨Ó?,§Ú§ä¤@­Ó¤u§@ªí¥i¥HÅã¥Ü,¦ý¦h­Ó¤u§@ªí
´N¤£ª¾¹D¦p¦ó¥Î°}¦C³B²z,·Ð½Ð¤j¤j¸Ñ´b!
        With Sheets(c)
                    n = .[A65536].End(xlUp).Row
                    arr = .Range(.[A1], .Cells(n, 6))
                   ReDim arr2(1 To 5, 1 To UBound(arr)) '¦bµ{§Ç¼h¦¸¤¤¥Î¨Ó­«·s°t¸m°ÊºA°}¦CÅܼƪºÀx¦sªÅ¶¡
                         Set d = CreateObject("scripting.dictionary")
                         For i = 2 To n
                         chk = Mid(arr(i, 1), 1, 3) '¹ï¼t°Ó½s¸¹°µ§P©w
                          If stcode = chk Then
                           x = arr(i, 4) - arr(i, 5)
                           b = Array(arr(i, 1), arr(i, 2), arr(i, 4), arr(i, 5), x)
                               If Not d.exists(arr(i, 1)) Then
                                   M = M + 1
                                   d(arr(i, 1)) = M
                               For j = 1 To 5
                                   arr2(j, M) = b(j - 1)
                               Next
      
                          Else
                              For j = 3 To 5
                                   arr2(j, d(arr(i, 1))) = arr2(j, d(arr(i, 1))) + b(j - 1)
                              Next
                          End If
                          Else
                          End If
                          Next
                  End With
A.rar (16.83 KB) B08.rar (9.42 KB)

testa.rar (8.97 KB)

sFName = "C:\¸ê®Æ®w\" & tdate & "¤ë\" & stcok & "" & fdate & ".xls" ' «ü©w¬d§äÀɮ׸ô®|¥Ø¿ý"
              Workbooks.Open Filename:=sFName, ReadOnly:=True ' ¶}ÀÉ
              p = Sheets.Count
              Do
                With Sheets(p)
                    n = .[A65536].End(xlUp).Row
                    arr = .Range(.[A1], .Cells(n, 6))
                   ReDim arr2(1 To 5, 1 To UBound(arr)) '¦bµ{§Ç¼h¦¸¤¤¥Î¨Ó­«·s°t¸m°ÊºA°}¦CÅܼƪºÀx¦sªÅ¶¡
                         Set d = CreateObject("scripting.dictionary")
                              
                          For i = 2 To n
                         chk = Mid(arr(i, 1), 1, 3)
                          If stcode = chk Then
                           x = arr(i, 4) - arr(i, 5)
                          b = Array(arr(i, 1), arr(i, 2), arr(i, 4), arr(i, 5), x)
            
                          If Not d.exists(arr(i, 1)) Then
                                   M = M + 1
                                   d(arr(i, 1)) = M
                               For j = 1 To 5
                                   arr2(j, M) = b(j - 1)
                               Next
                          Else
                              For j = 3 To 5
                          arr2(j, d(arr(i, 1))) = arr2(j, d(arr(i, 1))) + b(j - 1)
                              Next
                          End If
                          Else
                          End If
                          Next
                        
               End With
               On Error Resume Next
               irow = wbook.[A65536].End(xlUp).Row
            wbook.Range("A" & irow + 1).Resize(M, 5) = Application.Transpose(arr2)
                p = p - 1: M = 0
                Loop While p > 0
               
             Application.DisplayAlerts = False
             ActiveWorkbook.Close SaveChanges:=False
             Sheets("Web").Activate
                    n = [A65536].End(xlUp).Row
                    arr = Range([A2], Cells(n, 6))
                   ReDim arr2(1 To 5, 1 To UBound(arr))                           Set d = CreateObject("scripting.dictionary")
                             For i = 2 To n
                 b = Array(arr(i, 1), arr(i, 2), arr(i, 3), arr(i, 4), arr(i, 5))
            
                          If Not d.exists(arr(i, 1)) Then
                                   M = M + 1
                                   d(arr(i, 1)) = M
                               For j = 1 To 5
                                   arr2(j, M) = b(j - 1)
                               Next
                          Else
                              For j = 3 To 5
                          arr2(j, d(arr(i, 1))) = arr2(j, d(arr(i, 1))) + b(j - 1)
                              Next
                          End If
                          
                          Next
                 Range("g1").Resize(M, 5) = Application.Transpose(arr2)
¥Ø«e¥²¶·§â¦U¤u§@ªí³B²z§¹ªº¸ê®Æ©ñ¨ìsheet("web")ªº¤u§@ªí,¦A³B²z¤@¦¸
½Ð°Ý¦p¦ó³B²z¤@¦¸´N¦n,¹ï©ó°}¦C¸ê®Æ¯uªº«ÜÀYµh,·PÁ¤j¤j¯àÀ°§Ú¸Ñ´b!ÁÂÁµ½¤ß¤H¤h.

TOP

ÁÂÁÂGBKEE¤j¤j§Úªþ¤WAÀÉ»PB08ÀÉ,·PÁ§AªºÀ°¦£..

TOP

¦n¤ßªº¤j¤j¥i¥H²¤Æ¶Ü?¤£µM´£¥Ü¤@¤U¤]¥i¥H!ÁöµM¥i¥H¹F¨ì­n¨D¦ýÁ`ı±o©Ç©Çªº....

TOP

¥»©«³Ì«á¥Ñ flask ©ó 2011-8-27 15:04 ½s¿è

¦^´_ 6# Hsieh

ÁÂÁÂHsieh ¶W¯Åª©¥D¯uªºÂ²¼ä¦n¦h,¦ý¬O¦U¤u§@­¶¨S°µ¥[Á`.
sshot-1.jpg
À³¸Ó¬O¹³³o¼Ë
sshot-3.jpg ,
¯uªº·PÁ§AªºÀ°¦£,ÁÙ¦³¥Î¼t°Ó¥N½X°µ§P§O¬O¦]¬°¼t°Ó¦WºÙ¦³ªº·|ªÅ¥Õ,³o­Ó
¨SÃö«Y§Úª¾¹D¦p¦ó¥Î,ÁÂÁ§A...

TOP

½Ð±Ð¦n¤ßªº¤j¤j,§Ú¥Î³o¼Ëªº¤è¦¡³B²z¦³¤@­Ó°ÝÃD;
·í¼t°Ó¥N½X¦³­^¤å¦rªº¤j¤p¼g®É·|§PÂ_¬O¤@¼Ë,¦p985M»P985m
·|§PÂ_¬O¬Û¦P,¤£ª¾¬O¤°»ò­ì¦]?
With .Sheets(sh)
    For Each a In .Range(.[a2], .[a2].End(xlDown))
    stcode = Mid(a, 1, 2)
      If stcode = mycode Then
        Set b = wbook.Columns("e").Find(a, lookat:=xlWhole)
                If b Is Nothing Then
                   wbook.Range("e" & l).Resize(, 2) = a.Resize(, 2).Value
                   wbook.Range("e" & l).Offset(, 2) = a.Offset(, 3).Value
                   wbook.Range("e" & l).Offset(, 3) = a.Offset(, 4).Value
                   l = l + 1
                Else
                   b.Offset(, 2) = a.Offset(, 3).Value + b.Offset(, 2)
                   b.Offset(, 3) = a.Offset(, 4).Value + b.Offset(, 3)
                End If
       Else
       End If
    Next
End With

TOP

·PÁÂGBKEE ¤j¤j...ÁÂÁ§A.

TOP

        ÀR«ä¦Û¦b : ¤£­nÀH¤ß©Ò±ý¡A­nÀH¤ß±Ð¨|¦Û¤v¡C
ªð¦^¦Cªí ¤W¤@¥DÃD