Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


23446 / 76738 ←次へ | 前へ→

【58658】Re:同じ文字列の検索
発言  kanabun  - 08/11/3(月) 15:45 -

引用なし
パスワード
   さて、話が「グループ別集計作業」に戻りますが、
グループ別に集計するには 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を使うと簡単にできます。

1 hits

【58651】同じ文字列の検索 板さん 08/11/2(日) 23:32 質問
【58652】Re:同じ文字列の検索 kanabun 08/11/2(日) 23:42 発言
【58653】Re:同じ文字列の検索 板さん 08/11/3(月) 7:25 質問
【58657】Re:同じ文字列の検索 kanabun 08/11/3(月) 11:36 発言
【58658】Re:同じ文字列の検索 kanabun 08/11/3(月) 15:45 発言
【58660】Re:同じ文字列の検索 板さん 08/11/3(月) 18:14 お礼
【58661】Re:同じ文字列の検索 kanabun 08/11/3(月) 18:20 発言
【58662】Re:同じ文字列の検索 kanabun 08/11/3(月) 18:35 発言
【58663】Re:同じ文字列の検索 kanabun 08/11/3(月) 22:33 発言
【58664】Re:同じ文字列の検索 板さん 08/11/4(火) 0:14 お礼

23446 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free