| 
    
     |  | さて、話が「グループ別集計作業」に戻りますが、 グループ別に集計するには Dictioanryオブジェクト
 というものを使うといいです。
 
 いま、以下のようなテーブルがあったとします。
 '---------------
 A     B
 'コード   数量
 '123     10
 '456     10
 '123     10
 '789     10
 '123     10
 
 Sub Try_Dic()
 Dim ColA As Range
 Dim v
 Dim ss As String
 Dim i As Long
 Dim dic As Object
 
 Set dic = CreateObject("Scripting.Dictionary")
 Set ColA = Range("A2", Cells(Rows.Count, 1).End(xlUp))
 v = ColA.Resize(, 2).Value 'A,B列のデータ
 For i = 1 To UBound(v)
 ss = v(i, 1)  '同じKey(コード)に Item(数量)を加えていく
 dic(ss) = dic(ss) + v(i, 2)
 Next
 
 '集計結果を新しいシートに書き出す
 With Worksheets.Add(After:=ActiveSheet)
 .Range("A2").Resize(dic.Count, 2).Value = _
 Application.Transpose(Array(dic.Keys, dic.Items))
 End With
 
 End Sub
 
 ' ------------ 結果はこうなります
 '123  30
 '456  10
 '789  10
 
 
 キー(グループ名)がはじめから分かっているばあい、
 キー別集計作業は 上のように Dictionaryを使うと簡単にできます。
 
 
 |  |