返回列表 上一主題 發帖

[發問] 2條件下做資料整理相加

回復 2# Andy2483
  1. Option Explicit

  2. Sub 資料整理相加()
  3.     Dim D As Object, E As Range, B As Variant
  4.     Set D = CreateObject("Scripting.Dictionary")
  5.     For Each E In [A1:A30]     '  亂數製作範例的存放處
  6.         If Not D.exists(E & UCase(E.Range("b1"))) Then   '字典物件的key(關鍵字)   不存在時  (日期&產品)
  7.             D(E & E.Range("b1")) = Array(E.Text, UCase(E.Range("b1")), E.Range("c1").Text)
  8.             '字典物件(關鍵字)的item(內容)  為一維陣列
  9.         Else
  10.             B = D(E & UCase(E.Range("b1")))  '讀取字典物件(關鍵字)的item(內容)
  11.             B(2) = B(2) + E.Range("c1")              '數量相加
  12.             D(E & UCase(E.Range("b1"))) = B   '字典物件(關鍵字)= 指定內容
  13.         End If
  14.     Next
  15.     With [H1].Resize(D.Count, 3)   '整理相加存放處
  16.         .Value = Application.Transpose(Application.Transpose(D.ItemS)) '轉置一維陣列維二維陣列
  17.         .Sort KEY1:=.Cells(1), Order1:=1, KEY2:=.Cells(2), Order2:=1, Header:=xlYes
  18.     End With
  19. End Sub
複製代碼

TOP

        靜思自在 : 【時間如鑽石】時間對一個有智慧的人而言,就如鑽石般珍貴;但對愚人來說,卻像是一把泥土,一點價值也沒有。
返回列表 上一主題