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

½Ð°Ýsumif §ï¼g¦¨¦r¨å©Î¬OarrayÅý°õ¦æ³t«×ÅܧÖ

¦^´_ 1# s3526369


½Ð°Ý¤è«Kªþ¤WÀɮ׶Ü? ÁÂÁÂ

TOP

¦^´_  samwang


   


Àɮצb³o ¦A³Â·Ð§A¬Ý¬Ý
s3526369 µoªí©ó 2022-9-14 08:51


½Ð´ú¸Õ¬Ý¬Ý¡AÁÂÁÂ
Sub test()
Dim Arr, xD, xD1, xD2, xD3, xD4, T$, i&, QA, QB
Set xD = CreateObject("Scripting.Dictionary")   '¤J®w¦X­p
Set xD1 = CreateObject("Scripting.Dictionary")  '¤½¥qÁ`»Ý¨D
Set xD2 = CreateObject("Scripting.Dictionary")  'A­Ü
Set xD3 = CreateObject("Scripting.Dictionary")  'B­Ü
Set xD4 = CreateObject("Scripting.Dictionary")  'Á`¥X³f
TM = Timer
With Sheets("¤J®w©ú²Ó")
    Arr = .Range(.[r1], .[o65536].End(3))
    For i = 2 To UBound(Arr)
        T = Arr(i, 1): xD(T) = xD(T) + Arr(i, 4) '¤J®w¦X­p
    Next
End With
With Sheets("¥þ¾÷ºØBOM")
    Arr = .Range(.[z1], .[p65536].End(3))
    For i = 2 To UBound(Arr)
        T = Arr(i, 1): xD1(T) = xD1(T) + Arr(i, 11) '¤½¥qÁ`»Ý¨D
    Next
End With
With Sheets("A»Ý¨D")
    Arr = .Range(.[h1], .[a65536].End(3))
    For i = 4 To UBound(Arr)
        T = Arr(i, 1): xD2(T) = xD2(T) + Arr(i, 8)  'A­Ü
    Next
End With
With Sheets("B»Ý¨D")
    Arr = .Range(.[h1], .[a65536].End(3))
    For i = 4 To UBound(Arr)
        T = Arr(i, 1): xD3(T) = xD3(T) + Arr(i, 8)  'B­Ü
    Next
End With
With Sheets("«ü¹Ï©ú²Ó")
    Arr = .Range(.[L1], .[f65536].End(3))
    For i = 4 To UBound(Arr)
        T = Arr(i, 1): xD4(T) = xD4(T) + Arr(i, 7)  'Á`¥X³f
    Next
End With
With Sheets("­Ü®w®w¦s")
    Arr = .Range(.[m3], .[a65536].End(3))
    For i = 2 To UBound(Arr)
        T = Arr(i, 1)
        QA = Arr(i, 4) + Arr(i, 5) ' ''­Ü®w®w¦s
        QB = Arr(i, 11) + Arr(i, 12)
        Arr(i, 5) = xD(T)    '¤J®w¦X­p
        Arr(i, 13) = xD4(T)  'Á`¥X³f
        Arr(i, 3) = xD1(T)   'Á`»Ý¨D
        Arr(i, 8) = QA - QB - xD2(T) - xD3(T) - xD4(T)  '¤½¥q­Ü
        Arr(i, 9) = xD3(T)   'B­Ü
        Arr(i, 10) = xD2(T)  'A­Ü
        Arr(i, 7) = QA - QB - xD4(T)  'Á`¼Æ
    Next
    .[a3].Resize(UBound(Arr), 13) = Arr
End With
MsgBox "¦@¯Ó®É¡G" & Timer - TM & " ¬í"
End Sub

TOP

¦^´_  samwang


  «e½ú½Ð°Ý¤@¤U¦pªG¬O­n§PÂ_¨â­Ó±ø¥ó
¨Ò¦p:¥[¤J§PÂ_­Ü®w§Oªº¸Ü
s3526369 µoªí©ó 2022-9-15 09:53


¤£¤Ó¤F¸Ñ±zªº·N«ä¡A¬O³o¼Ë¶Ü?

T = Arr(i, 1) & "|" & Arr(i, ??)

TOP

¦^´_  samwang ¥Ø«e¬O §PÂ_®Æ¸¹ = ¤J®w©ú²Ó®Æ¸¹ ¥[Á`«á¶ñ¤J¨ì­Ü®w®w¦sªº¶i³f¦X­pÄæ¦ì   
§Úªº·N«ä¬O§PÂ_®Æ ...
s3526369 µoªí©ó 2022-9-15 12:46


¤£¦n·N«ä¡A¤£¤Ó¤F¸Ñ»Ý¨D¡A¥i§_ªþ¤W»¡©úºt½m¹ê»Ú¼Æ¾Ú¡AÁÂÁÂ

TOP

¦^´_  samwang
¤£¦n·N«ä
­ì¥»¸ê®Æ¬Osumif §ï¦¨¦pªG¬O´«¦¨sumifs ­n§PÂ_¨â­Ó±ø¥ó¦¨¥ßªº¸Ü
s3526369 µoªí©ó 2022-9-15 14:43

¬O³o¼Ë¶Ü? ½Ð´ú¸Õ¬Ý¬Ý¡AÁÂÁÂ
With Sheets("¤J®w©ú²Ó")
    Arr = .Range(.[S1], .[o65536].End(3))
    For i = 2 To UBound(Arr)
        If Arr(i, 5) = "¤½¥q­Ü" Then '¬O¤½¥q­Ü-->³fª«½s¸¹²Ö¥[RÄ檺Qty
            T = Arr(i, 1): xD(T) = xD(T) + Arr(i, 4) '¤J®w¦X­p
        End If
    Next
End With

TOP

¦^´_  Andy2483

«e½ú~§A¬Ý¬Ý³o­Ó,§Ú®M¥Îsamwang«e½ú¤è¦¡¥h¾ã²z¥X¨Ó!
°õ¦æ³t«×«Ü§Ö,¦ý¬O¥Ø«e¹J¨ìªº°ÝÃD ...
s3526369 µoªí©ó 2022-9-16 16:45



ªþ¥ó¬Ý¤£¥X­þ¸Ì¦³¤½¦¡¡A«á¾Ç¥ú¬Ý¨º¨Çµ{¦¡½X´N§Ö....¡A±z³£¥i¥H®M¥Î¼g¥X¡A«Øij±N­ì¨Ó¦³¤½¦¡°Ï¥i¥HÂনVBA¡A
³o¼Ë¤]¥i¥H´£¤É®Ä²v¡AÁÂÁÂ

TOP

¦^´_  samwang

«e½ú§A¦n~§Ú­Ü®w®w¦sA.B¬O³sµ²§÷®Æªíªº¸ê®Æ,§Ú­«·s¤W¶Çªþ¥ó!
s3526369 µoªí©ó 2022-9-17 00:14


½Ð´ú¸Õ¬Ý¬Ý¡AÁÂÁÂ

­Ü®w¦X­pTEST2_0917.zip (627.58 KB)

TOP

        ÀR«ä¦Û¦b : ¦³´¼¼z¤~¯à¤À¿ëµ½´c¨¸¥¿¡F¦³Á¾µê¤~¯à«Ø¥ß¬üº¡¤H¥Í¡C
ªð¦^¦Cªí ¤W¤@¥DÃD