- 帖子
- 13
- 主題
- 0
- 精華
- 0
- 積分
- 63
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- office 365
- 閱讀權限
- 20
- 性別
- 女
- 註冊時間
- 2022-2-1
- 最後登錄
- 2024-11-20
|
回復 2# Andy2483 - Option Explicit
- Sub 資料整理相加()
- Dim D As Object, E As Range, B As Variant
- Set D = CreateObject("Scripting.Dictionary")
- For Each E In [A1:A30] ' 亂數製作範例的存放處
- If Not D.exists(E & UCase(E.Range("b1"))) Then '字典物件的key(關鍵字) 不存在時 (日期&產品)
- D(E & E.Range("b1")) = Array(E.Text, UCase(E.Range("b1")), E.Range("c1").Text)
- '字典物件(關鍵字)的item(內容) 為一維陣列
- Else
- B = D(E & UCase(E.Range("b1"))) '讀取字典物件(關鍵字)的item(內容)
- B(2) = B(2) + E.Range("c1") '數量相加
- D(E & UCase(E.Range("b1"))) = B '字典物件(關鍵字)= 指定內容
- End If
- Next
- With [H1].Resize(D.Count, 3) '整理相加存放處
- .Value = Application.Transpose(Application.Transpose(D.ItemS)) '轉置一維陣列維二維陣列
- .Sort KEY1:=.Cells(1), Order1:=1, KEY2:=.Cells(2), Order2:=1, Header:=xlYes
- End With
- End Sub
複製代碼 |
|