- 帖子
- 10
- 主題
- 1
- 精華
- 0
- 積分
- 14
- 點名
- 0
- 作業系統
- WINDOWS10
- 軟體版本
- office2019
- 閱讀權限
- 10
- 註冊時間
- 2020-8-30
- 最後登錄
- 2023-3-3

|
9#
發表於 2020-10-10 14:18
| 只看該作者
回復 K0l1CHEN6
在Excel Home已發問好幾通, 無人回應,
應是沒人懂意思,
有數量欄, 所以"單價"依比 ...
准提部林 發表於 2020-10-10 11:52 
小弟成功嘗試略過組合折扣做加總,已經分離兩個數組
比較有嘗試不了的是如何將兩個陣列去做比對- Sub test1()
- Dim arr, brr(), t
- Set d = CreateObject("scripting.dictionary")
- arr = [A1].CurrentRegion
- ReDim brr(1 To UBound(arr), 1 To UBound(arr, 2)), t(UBound(arr, 2))
-
- For i = 2 To UBound(arr)
- If Not d.exists(arr(i, 2)) Then
- k = k + 1
- d(arr(i, 2)) = k
-
- For j = 1 To UBound(arr, 2)
- brr(k, j) = arr(i, j)
- Next
- Else
- r = d(arr(i, 2))
-
- For j = 6 To UBound(arr, 2)
- If arr(i, j) < 0 Then
- Else
- brr(r, j) = brr(r, j) + arr(i, j)
- End If
- Next
- End If
- Next
- For i = 1 To UBound(arr, 1) - 1
- If arr(i, 4) <> "組合折扣" Then
- m = m + 1
-
- For j = 1 To UBound(arr, 2)
- arr(m, j) = arr(i, j)
- Next
-
- End If
- Next
-
- With [K1]
- .Resize(UBound(arr, 1), UBound(arr, 2)).ClearContents
- .Resize(m).NumberFormatLocal = "yyyymmdd"
- .Resize(m, UBound(arr, 2)) = arr
- End With
-
- [U2].Resize(k, 9) = brr
-
- End Sub
複製代碼 |
|