子宏1()
Dim arr,brr(1到60000,1到2),sh作為工作表,lr & amp,我& amp,並購;,d作為賓語
創建壹個空的匯總表。創建此表的主要目的是應用現有的方法,避免逐個檢查的太多麻煩。
set d = CreateObject(" scripting . dictionary ")
對工作簿中的每個表進行操作。
對於每張紙上的sh
除了匯總表。
如果噓。名稱& lt& gt然後是“匯總表”
首先找到表格B列的最後壹行。
lr = sh。[b65536]。結束(xlUp)。排
如果最後壹行大於3。
如果lr & gt3然後
只需將第四行到最後壹行的B列和C列復制到數組arr中。
arr = sh。range(" B4:c " & amp;lr)
從第4行到最後壹行檢查B列和C列中的數據。
對於i = 1到UBound(arr)
如果B列中的數據不在匯總表d中。
如果d .不存在(arr(i,1)),則
將B列中的數據加到匯總表D中,並給它壹個與另壹個匯總表brr對應的序號。
m = m + 1
d(arr(i,1)) = m
將B列和C列中的數據添加到匯總表brr中。
brr(m,1) = arr(i,1)
brr(m,2) = arr(i,2)
其他
如果B列的數據已經存在於匯總表D中,則使用新建立的序號引用另壹個匯總表brr中與B列數據相同的項目,這樣就可以累加C列的數據。
brr(d(arr(i,1)),2) = brr(d(arr(i,1)),2) + arr(i,2)
如果…就會結束
然後
如果…就會結束
如果…就會結束
然後
清除匯總表的數據區
ActiveSheet。UsedRange.Offset(2)。清除內容
將匯總數據粘貼到以A3開始的區域。
[a3]。Resize(m,2) = brr
末端接頭