Excel VBA質問箱 IV

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

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


12327 / 76734 ←次へ | 前へ→

【69933】Re:表の集計方法について
お礼  うしろ E-MAIL  - 11/9/26(月) 8:32 -

引用なし
パスワード
   SSさんへ
PCの調子が悪く、お返事が大変遅くなりました。
まさに考えていた通りの処理を行っております。

>  Set Dic = CreateObject("Scripting.Dictionary")
>    buf1 = Cells(i, 2).Value     
>    buf2 = Cells(i, 5).Value
>    If Not Dic.Exists(buf1) Then
>      Dic.Add buf1, buf2   

このような処理が簡単に思いつくといいですね。
ありがとうございました。


▼SS さん:
>▼うしろ さん:
>オートフィルタ―を用いたものではないのですが
>Dictionaryの勉強がてら作ってみました。
>参考になれば幸いです。
>
>Option Explicit
>
>Sub Sample()
>  Dim Dic As Variant, Keys As Variant
>  Dim i As Long, j As Long
>  Dim buf1 As String, buf2 As Currency
>  
>  Set Dic = CreateObject("Scripting.Dictionary")
>  j = Cells(Rows.Count, 2).End(xlUp).Row
>  For i = 2 To j
>    buf1 = Cells(i, 2).Value      '種別をbuf1に格納する
>    buf2 = Cells(i, 5).Value      '金額をbuf2に格納する
>    If Not Dic.Exists(buf1) Then    'まだ登録されていなかったら…
>      Dic.Add buf1, buf2       '種別と金額を連想配列に登録する
>    Else
>      Dic(buf1) = Dic(buf1) + buf2  '金額を追加する
>    End If
>  Next i
>  Keys = Dic.Keys
>  For i = 0 To Dic.Count - 1
>    Cells(i + 2, 7) = Keys(i)
>    Cells(i + 2, 8) = Dic(Keys(i))
>  Next i
>  Set Dic = Nothing
>End Sub
>
>
>>年月日    種別    店舗名       内容       金額
>>9月2日    食費    業務用スーパー    烏龍茶×2    216
>>9月2日    食費    業務用スーパー    麻婆茄子の素    88
>>・・・・・・・・・続く
>>上表のようにA列に年月日、B列:種別、C列:店舗名、D列:内容、E列:金額の順で入力された1ケ月毎の家計簿があります。種別毎に集計をしたいのですが、月によって種別の数が異なるのでマクロ(EXCEL2007)で対応したいと考えています。
>>2003までのマクロと異なり自動記録機能ができないようなので相談に上がりました。考え方はおそらく以下のようにすればよいと思うのですがコードの記述方法を
>>ご教示願います。(Win7 excel2007)
>>1.(オート)フィルタ―
>>2.B列の種別(1つ)を選択
>>3.種別に対するE列の集計
>>4.一時的に新しいシートに種別、金額をコピー(または内部メモリに記憶)
>>5.F列に種別、G列に集計金額をコピーまたは記載(集計毎に行を下にずらす)
>>6.新しいシートを削除
>>→2.に戻り次の種別(1つ)を選択(種別が終了するまで繰り返す)
>>7.(オート)フィルターの解除
5 hits

【69889】表の集計方法について うしろ 11/9/18(日) 21:32 質問
【69890】Re:表の集計方法について Yuki 11/9/19(月) 10:56 発言
【69897】ReRe:表の集計方法について うしろ 11/9/21(水) 23:04 質問
【69902】Re:ReRe:表の集計方法について Yuki 11/9/22(木) 13:42 発言
【69936】Re:ReRe:表の集計方法について うしろ 11/9/26(月) 8:41 お礼
【69898】Re:表の集計方法について ちん 11/9/22(木) 11:42 回答
【69934】Re:表の集計方法について うしろ 11/9/26(月) 8:34 お礼
【69901】Re:表の集計方法について ちん 11/9/22(木) 13:35 発言
【69908】Re:表の集計方法について ちん 11/9/22(木) 16:37 発言
【69935】ReRe:表の集計方法について うしろ 11/9/26(月) 8:37 お礼
【69903】Re:表の集計方法について SS 11/9/22(木) 13:46 発言
【69933】Re:表の集計方法について うしろ 11/9/26(月) 8:32 お礼

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