[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『【VBA】重複を削除して合計する』(るも)
A B
地域名 売上
A列の地域名の重複を削除し、それごとにB列の売上を合計。
E列に重複をなくした地域名、
F列にその合計結果を表示する場合:
以下のマクロを実行するとネットで見つけたのですが、これを改造して
C列に「売上2」を加えて、
G列に売上2の合計を出したい場合はどう直したらよいでしょうか。
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
< 使用 Excel:Excel2013、使用 OS:unknown >
(γ) 2021/10/04(月) 14:49
自身の作業であればご指摘いただきましたような作業で足りるのですが、
今回は自分以外の人も業務効率化の観点から
ボタン一つでできるシートの作成を目指しています。
恐縮ですが、コードのご教示をいただきたく改めてお願い申し上げます。
(るも) 2021/10/04(月) 15:24
# 出掛けますので、他の方の回答をお待ち下さい。
(γ) 2021/10/04(月) 16:11
https://teratail.com/questions/308503
(きまぐれ) 2021/10/04(月) 16:34
統合なんて機能もありますよ。
これ2行で、ほとんど済みそう。
Sub 統合() Columns("E:G").ClearContents
Range("E1").Consolidate Sources:=Columns("A:C").Address(, , xlR1C1, True), Function:=xlSum, _ TopRow:=True, LeftColumn:=True, CreateLinks:=False End Sub
(半平太) 2021/10/04(月) 20:33
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.