- 帖子
- 4901
- 主題
- 44
- 精華
- 24
- 積分
- 4916
- 點名
- 87
- 作業系統
- Windows 7
- 軟體版本
- Office 20xx
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台北
- 註冊時間
- 2010-4-30
- 最後登錄
- 2025-4-11
               
|
4#
發表於 2013-8-8 23:15
| 只看該作者
回復 1# glriffy_su
試試看- Sub ex()
- Set d = CreateObject("Scripting.Dictionary")
- Set d1 = CreateObject("Scripting.Dictionary")
- Set d2 = CreateObject("Scripting.Dictionary")
- With 工作表1 '來源工作表
- r = 3
- Do Until .Cells(r, 2) = ""
- mystr = .Cells(r, 1).Text & "," & Split(.Cells(r, 2), ".")(0)
- d1(mystr) = d1(mystr) + .Cells(r, 3)
- d2(mystr) = d2(mystr) + .Cells(r, 3)
- For Each a In .Range(.[E2], .[E2].End(xlToRight))
- d(mystr & "," & a) = d(mystr & "," & a) + Cells(r, a.Column)
- Next
- r = r + 1
- Loop
- End With
- With 工作表2 '目標工作表
- r = 3
- For Each ky In d1.keys
- .Cells(r, 1).Resize(, 2) = Split(ky, ",")
- .Cells(r, 3) = d1(ky)
- .Cells(r, 4) = d2(ky)
- For Each a In .Range(.[E2], .[E2].End(xlToRight))
- .Cells(r, a.Column) = d(ky & "," & a)
- Next
- r = r + 1
- Next
- End With
- End Sub
複製代碼 |
|