Excel VBA 之 去重求和


Excel VBA 之 去重求和

今天講一下Excel VBA實現去重求和,其實用透視表可以直接統計出來,但是為了熟悉VBA,我們就用VBA來解決一下這個問題。

例:

Excel VBA 之 去重求和

代碼如下:

<code>Sub test()
Dim dic1, dic2, dic3
Dim arr, brr()
Set dic1 = CreateObject("scripting.dictionary") '存放單價
Set dic2 = CreateObject("scripting.dictionary") '存放數量
Set dic3 = CreateObject("scripting.dictionary") '存放金額
arr = [b6].CurrentRegion
For i = 2 To UBound(arr)
'名稱為鍵值
dic1(arr(i, 1)) = arr(i, 2)
dic2(arr(i, 1)) = dic2(arr(i, 1)) + arr(i, 3)
dic3(arr(i, 1)) = dic3(arr(i, 1)) + arr(i, 4)
Next
ReDim brr(1 To dic1.Count, 1 To 4)
k = dic1.keys
For i = 1 To UBound(brr)
brr(i, 1) = k(i - 1)
brr(i, 2) = dic1(k(i - 1))
brr(i, 3) = dic2(k(i - 1))
brr(i, 4) = dic3(k(i - 1))
Next
[H17].Resize(1, 4) = arr
[H18].Resize(UBound(brr), 4) = brr
Set dic1 = Nothing
Set dic2 = Nothing
End Sub/<code>


最後看一下效果:

Excel VBA 之 去重求和

大家點擊下面鏈接可以查看我的其他文章哦!

。。。


喜歡的朋友記得點贊、轉發、關注哦,大家如果在Excel中遇到問題都可以找我交流,也可以在評論區或私信告訴我你想看到的VBA辦公教程,我將在下期分享給大家,以後不定期更新Excel VBA技巧!


分享到:


相關文章: