- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
使用陣列方式
Sub Ex()
Dim Ar(), M, E As Range, R
ReDim Preserve Ar(1 To 1)
Ar(1) = Array("ref no", "Sum of ctr", "Sum of gw", "remark")
M = Array(Ar(1)(0))
For Each E In Sheet1.Range("A2", Sheet1.[d65536].End(xlUp)).Rows
R = Application.Match(E.Cells(1, 1).Value, M, 0)
If IsNumeric(R) Then
Ar(R)(1, 2) = Ar(R)(1, 2) + E.Cells(1, 2)
Ar(R)(1, 3) = Ar(R)(1, 3) + E.Cells(1, 3)
Else
ReDim Preserve Ar(1 To UBound(Ar) + 1)
Ar(UBound(Ar)) = E.Value
M = Split(Join(M, ",") & "," & Ar(UBound(Ar))(1, 1), ",")
End If
Next
Sheet2.Columns("A:D") = ""
Sheet2.[a1].Resize(UBound(Ar), 4).Value = Application.Transpose(Application.Transpose(Ar))
End Sub |
|