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

|
求助陣列問題,小弟嘗試過但無法正確分組陣列加總,還請求各位大大協助,謝謝!- Sub test()
- Dim arr, i, j, k, m, n, p
- arr = [A1].CurrentRegion.Offset(1).Resize(, 9).Value
- ReDim Sum(UBound(arr, 2)), t(UBound(arr, 2))
-
-
- For i = 1 To UBound(arr, 1) - 1
-
- If arr(i, 2) <> arr(i + 1, 2) Then
-
- For j = 6 To UBound(arr, 2)
- Sum(j) = Sum(j)
- Debug.Print Sum(j)
- Next
- Else
- For j = 6 To UBound(arr, 2)
- Sum(j) = Sum(j) + arr(i, j)
- Debug.Print Sum(j)
- Next
- End If
-
- If arr(i + 1, 4) = "組合折扣" Then
- For j = p + 1 To i - 1
- For k = 6 To UBound(arr, 2)
- n = Round(-arr(i + 1, k) / Sum(k) * arr(j, k), 0)
- arr(j, k) = arr(j, k) - n
- t(k) = t(k) + n
- Next
- Next
-
- For k = 6 To UBound(arr, 2)
- arr(j, k) = arr(j, k) + arr(i + 1, k) + t(k)
- Sum(k) = 0: t(k) = 0
- Next
-
- i = i + 1: p = i
- 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 [l2]
- .Resize(UBound(arr, 1), UBound(arr, 2)).ClearContents
- .Resize(m).NumberFormatLocal = "yyyymmdd"
- .Resize(m, UBound(arr, 2)) = arr
- End With
-
- End Sub
複製代碼 |
|