投稿/コメントを表示します。

Dictionaryの代わりに、AdvancedFileter&Sumif使用で描いてみました。
記念に投稿します。(動作確認済み)
最初に、AdvancedFilterをB2から指定した為、愛知販売が2つ出力という謎の動きをしてしまいました。
タイトル行から指定しないとダメです。
同様に、SumIfの合計値の範囲(G列)もG2から指定してしまうと、でたらめな金額が出力されしまい
気づくのにかなり悩みました。
前回の動画コメント12563の先生の参考コードと見比べて、やっと気づきました。

■Chap02ー71 Sheet2の課題
Sub test()
    Dim rg As Range
    Set rg = Range("B1:B" & Range("B" & Rows.Count).End(xlUp).Row)
    '会社のリスト書き出し(タイトル行からの指定がポイント)
    rg.AdvancedFilter Action:=xlFilterCopy, copytorange:=Range("I1"), Unique:=True
    
    Dim sList As Range
    Set sList = Range("I2:I" & Range("I" & Rows.Count).End(xlUp).Row)
    Dim s As Range
    Dim c As Long
    c = 2
    'rgの範囲がタイトル行からなので、G列の指定も1行目からする
    For Each s In sList
        Range("J" & c).Value = WorksheetFunction.SumIf(rg, s.Value, Range("G1:G" & Range("G" & Rows.Count).End(xlUp).Row))
        c = c + 1
    Next
End Sub

2020/11/04 10:13