エクセルマクロで、重複データを削除し合計を合算するマクロコードをご紹介します。
このページのマクロコードは、コピペで使えます。
動画で動作確認ができます👇
重複データを削除し合計を合算する
以下のマクロを実行すると、重複データを削除し合計を合算します。
Sub 重複データを削除し合計を合算()
Dim myDic As Object
Dim myKey As Variant
Dim myItem As Variant
Dim myList As Variant
Dim i As Long
Set myDic = CreateObject("Scripting.Dictionary")
'A列,B列のデータを配列に格納
myList = Range("A2", Range("A" & Rows.Count). _
End(xlUp)).Resize(, 2).Value
'連想配列にデータを格納
For i = 1 To UBound(myList, 1)
'地域名が空欄かチェック
If Not myList(i, 1) = Empty Then
If Not myDic.exists(myList(i, 1)) Then
'重複しない地域名を取得
myDic.Add Key:=myList(i, 1), Item:=myList(i, 2)
Else
'売上金額を加算
myDic(myList(i, 1)) = myDic(myList(i, 1)) + myList(i, 2)
End If
End If
Next
'[地域名] 重複していないリストを格納
myKey = myDic.keys
'[売上] 地域名の合計を格納
myItem = myDic.items
'リストを出力
For i = 0 To UBound(myKey)
Cells(i + 2, 5).Value = myKey(i)
Cells(i + 2, 6).Value = myItem(i)
Next
'開放
Set myDic = Nothing
End Sub
マクロ実行後
配列について
下記の1行のコードを使用するだけで、
A列とB列のすべての値を、配列として取得することができるので便利です。
[myList = Range(“A2”, Range(“A” & Rows.Count).End(xlUp)).Resize(, 2).Value]
この記事がお役に立ちますと幸いです。
・【エクセルマクロ】重複データを自動処理する使用例まとめ
【エクセルマクロ】重複データを自動操作:超便利13選
...
「Excel自動化[最強]時短仕事術」
自動化の基礎と時短に役立つテクニック解説書
毎日の定型業務を手際良く行え、大幅な業務効率化を実現!
リンク