- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
6#
發表於 2013-8-3 17:27
| 只看該作者
回復 5# bear0925900003 - Option Explicit
- Sub Ex()
- Dim D As Object, i As Integer
- Set D = CreateObject("SCRIPTING.DICTIONARY")
- With Sheets("SHEET1") ''工作表物件
- i = 1
- Do While .Cells(i, "A") <> "" '工作表.物件 加. 為此物件的 子物件,方法,屬性
- 'Do While .Range("A" & i) <> "" '也可以用 Range
- D(.Cells(i, "A").Value) = D(.Cells(i, "A").Value) + .Cells(i, "B")
- i = i + 1
- Loop
- End With
- With Sheets("SHEET2") ''工作表物件
- i = 1
- Do While .Cells(i, "A") <> "" '工作表.物件 加. 為此物件的 子物件,方法,屬性
- 'Do While .Range("A" & i) <> "" '也可以用 Range
- D(.Cells(i, "A").Value) = D(.Cells(i, "A").Value) + .Cells(i, "B")
- i = i + 1
- Loop
- End With
- If D.Count > 1 Then
- With Sheets("SHEET3")
- .[A1].Resize(D.Count) = Application.Transpose(D.KEYS)
- .[B1].Resize(D.Count) = Application.Transpose(D.ITEMS)
- End With
- End If
- End Sub
複製代碼- Sub Ex_a()
- Dim D As Object, i As Integer, e As Variant
- Set D = CreateObject("SCRIPTING.DICTIONARY")
- For Each e In Array(Sheets("SHEET1"), Sheets("SHEET2"), Sheets("SHEET3"))
- With e
- i = 1
- Do While .Cells(i, "A") <> "" '工作表.物件 加. 為此物件的 子物件,方法,屬性
- 'Do While .Range("A" & i) <> "" '也可以用 Range
- D(.Cells(i, "A").Value) = D(.Cells(i, "A").Value) + .Cells(i, "B")
- i = i + 1
- Loop
- End With
- Next
- If D.Count > 1 Then
- With Sheets("SHEET4")
- .[A1].Resize(D.Count) = Application.Transpose(D.KEYS)
- .[B1].Resize(D.Count) = Application.Transpose(D.ITEMS)
- End With
- End If
- End Sub
複製代碼 |
|