プロが教える店舗&オフィスのセキュリティ対策術

ある一覧表の集計を別シートへ集計表として出したいです。

シート「一覧表」に

A1~I1まで
日付  交付番号  排出事業者  運搬受託者  作業所  No  種類  数量 処分業者

とあります。
この一覧表から
条件1 種類ごと
条件2 数量の集計

を行ってシート「集計表」に抽出したいです。

最初は以前に作成したAutoFilterを使った種類別に一覧表へ集計する事を考えたのですが、種類が多いことと拾いたい条件が2つなので、もう少し簡単に1つのシートで出せるかなと思いました。
ですが自分ではコードがわからず立ち止まってます。

丸投げで申し訳ありませんが、どなたかコードをお教え下さいませんでしょうか?

「vba集計表」の質問画像

A 回答 (3件)

こんばんは!



↓の画像のように
「一覧表」Sheetの「種類」ごとの集計を「集計表」Sheetに表示すれば良い訳ですね?

以下のコードを標準モジュールにコピー&ペーストしてマクロを実行してみてください。

Sub Sample1() '//この行から
Dim lastRow As Long, wS As Worksheet
Set wS = Worksheets("一覧表")
With Worksheets("集計表")
lastRow = .Cells(Rows.Count, "A").End(xlUp).Row
If lastRow > 1 Then
Range(.Cells(2, "A"), .Cells(lastRow, "B")).ClearContents
End If
wS.Range("G:G").AdvancedFilter Action:=xlFilterCopy, copytorange:=.Range("A1"), unique:=True
lastRow = .Cells(Rows.Count, "A").End(xlUp).Row
With Range(.Cells(2, "B"), .Cells(lastRow, "B"))
.Formula = "=SUMIF(一覧表!G:G,A2,一覧表!H:H)"
.Value = .Value
End With
End With
End Sub '//この行まで

※ 当然のことながら、
「一覧表」Sheetの変更があるたびにマクロを実行する必要があります。m(_ _)m
「vba集計表」の回答画像3
    • good
    • 1
この回答へのお礼

ありがとうございました。無事に抽出できました。

お礼日時:2015/05/07 08:53

回答番号1の方がおつしやるとほり、集計表がどんなものか記載されてゐませんので、答へやうがありません。



[1]
方法はいろいろあるでせうけれど、「並べ替え」と「小計」の標準機能で可能だと思ひます。「並べ替え」は「種類」の列を基準にします。「小計」につきましては、以下のサイトを御覧下さい。
http://allabout.co.jp/gm/gc/297711/

VBAでしたら、「並べ替え」は「Sort」メソッド、「小計」は「Subtotal」メソッドです。

[2]
まづ、「種類」で「並べ替え」をします。そのあとで、「種類」の列を上から順に見てゆきます。VBAの繰返し処理です。下の行と同じ種類であれば、「数量」を足し算します。そして下の行を削除します。下の行と種類が違へば、何もせずに、下の行へ移動します。空白行になるまで続けます。それで、種類ごとの合計が出せます。
    • good
    • 2
この回答へのお礼

有難うございました。

お礼日時:2015/05/07 08:54

集計表の体裁がはっきりしないので、ざっくりですが、



>条件1 種類ごと
>条件2 数量の集計

ということなら、「種類ごとの数量の合計を、集計表シートにまとめたい」
という意味と解釈して回答します。

「集計表」シートに、その「種類」を全部縦に並べて、SUMIF関数を使えばすぐ出ますよ。

① 集計表シートの A2セルから縦にずらっと、「種類」の全部を入れる
② 集計表シートの B2セルに以下の式を入れる
  =SUMIF(一覧表!H:H,A2,一覧表!I:I)
③ 下に引っ張る

これで終わりです。


ただ、質問文中で、
「拾いたい条件が2つ」
というのが気になります。「種類」以外に何か条件があるのでしょうか。

また、「コードがわからず」とあります。関数ではなくマクロの処理をお考えですか。

このあたり明確にすると何かお役にたてるかもしれません。
    • good
    • 1
この回答へのお礼

早いご回答ありがとうございました。
マクロで考えていましたので、3のご回答者様のコードを使用させていただきました。

お礼日時:2015/05/07 08:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!