- 帖子
- 163
- 主題
- 45
- 精華
- 0
- 積分
- 246
- 點名
- 1
- 作業系統
- win7
- 軟體版本
- ie
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2015-7-8
- 最後登錄
- 2025-3-8
|
4#
發表於 2024-8-1 12:22
| 只看該作者
回復 3# Andy2483
謝謝Andy師兄出手相助, 但我細心學習當中的程式中, 有一個不明的地方,希望Andy 兄賜教
Sub Test_a1()
Dim Arr, Brr(1 To 10000, 1 To 10), xD, T$, i&, j%, N&, R&
Sheets("Result").UsedRange.ClearContents
Set xD = CreateObject("Scripting.Dictionary")
Arr = Range([Inventor!x1], [Inventor!a65536].End(3))
For i = 4 To UBound(Arr)
If Not IsNumeric(Arr(i, 1) & "") Then GoTo i01
T = Arr(i, 3) & "\" & Arr(i, 4) & "\" & Arr(i, 9) & "\" & Arr(i, 10) & "\" & Arr(i, 11)
R = xD(T)
If R = 0 Then
N = N + 1: xD(T) = N: Brr(N, 1) = N: R = N
For j = 2 To 10
Brr(N, j) = Arr(i, Val(Split("//3/4/5/6/8/9/10/11/12", "/")(j)))
Next
GoTo i01
End If
Brr(R, 5) = Val(Brr(R, 5)) + Val(Arr(i, 6))
Brr(R, 6) = Val(Brr(R, 6)) + Val(Arr(i, 8))
Brr(R, 10) = Val(Brr(R, 10)) + Val(Arr(i, 12))
i01: Next i
If N = 0 Then Exit Sub
With [Result!a2:J2].Resize(N)
.Rows(1).Copy .Cells
.Value = Brr
.Columns(2).Resize(, 9).Sort Key1:=.Item(2), Order1:=xlAscending, Header:=xlNo
End With
End Sub
我在網上找到的應用資料是 Split("//3/4/5/6/8/9/10/11/12", "/",j), 但為何andy 學兄會用到(Split("//3/4/5/6/8/9/10/11/12", "/")(j)
請賜教,謝謝 |
|