返回列表 上一主題 發帖

[發問] 查詢比對後同項目數量總和及不同方式呈述

回復 1# BV7BW

這個需求和上次一樣,因為看不太懂就不知如何寫,可否請您舉例說明一下,感謝

TOP

本帖最後由 samwang 於 2022-7-29 20:27 編輯

回復 3# BV7BW

1)單項目查詢.主要查詢4/1至4/10日單一項目所有銷售出數量.及哪幾客戶所買多少呈列

如下請測試看看,謝謝
Sub 單項目查詢()
Dim Arr, xD, T$, Ds As Date, De As Date
Dim Brr(1 To 1, 1 To 4), Crr(), n%, i&, j%
Set xD = CreateObject("Scripting.Dictionary")
Ds = [K5]: De = [K6]: T = [K9]
Arr = Sheets("訂貨明細表").[a1].CurrentRegion
ReDim Crr(1 To UBound(Arr), 1 To 5)
For i = 2 To UBound(Arr)
    If Arr(i, 4) <> T Then GoTo 99
    If Arr(i, 12) >= Ds And Arr(i, 12) <= De Then
        If n = 0 Then
            n = n + 1: xD(Arr(i, 1) & "") = n
            For j = 1 To 4: Brr(1, j) = Arr(i, j + 2): Next
            Crr(n, 1) = Arr(i, 1): Crr(n, 2) = Arr(i, 3)
            Crr(n, 3) = Arr(i, 4): Crr(n, 4) = Arr(i, 5)
            Crr(n, 5) = Arr(i, 6)
        Else
            If xD.Exists(Arr(i, 1) & "") Then
                m = xD(Arr(i, 1) & "")
                Crr(m, 4) = Arr(i, 5) + Crr(m, 4)
            Else
                n = n + 1: xD(Arr(i, 1) & "") = n
                Crr(n, 1) = Arr(i, 1): Crr(n, 2) = Arr(i, 3)
                Crr(n, 3) = Arr(i, 4): Crr(n, 4) = Arr(i, 5)
                Crr(n, 5) = Arr(i, 6)
            End If
            Brr(1, 3) = Brr(1, 3) + Arr(i, 5)
        End If
    End If
99: Next
If n > 0 Then
    Range("a2:c2") = ""
    Range("a2").Resize(1, 4) = Brr
    Range("r2:v8") = ""
    Range("r2").Resize(n, 5) = Crr
End If
End Sub
   

TOP

回復  samwang
samwang 老師 你好
  感謝你解答
經測試後已完全吻合目標需求非常正確運算.
現庫存未能 ...
BV7BW 發表於 2022-7-29 21:26


列如你1庫存資料為1現是有顯示1
     你2庫存資料為2現顯示1.應是2
     你30庫存資料為30.現顯示1
>> 如何得知庫存??

1.JPG (101.69 KB)

1.JPG

TOP

回復  BV7BW
samwang 老師
    項目編號不同
例如你1有2種不同編號A101你1與A109你1
如查詢A109你1現是 ...
BV7BW 發表於 2022-7-29 22:10


你1 只有A101,沒有A109如圖片

1.JPG (101.69 KB)

1.JPG

TOP

回復  samwang
samwang 老師 你好
非常抱歉
因學生所發問題結構及構想邏輯嚴重錯誤
導致老師誤解
實 ...
BV7BW 發表於 2022-8-14 03:24


請測試看看,謝謝

銷售項目總量表(一)_0816.zip (754.26 KB)

TOP

        靜思自在 : 原諒別人就是善待自己。
返回列表 上一主題