[[20150526152244]] 『複数シートの集計方法を教えて頂けないでしょうか』(anan) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『複数シートの集計方法を教えて頂けないでしょうか』(anan)

毎月一度下記のエクセルシートを集計シートへコピー貼り付けしております。

シート数はその都度変更され150シート〜250シートあります。
一つのシートの行数は定型では有りません(列は定型です)
各シートのセルA2:S□□を集計シートへコピー貼り付けできないでしょうか
エクセルは関数を少し使用する程度ですので、具体的にご指導頂けると助かります。
宜しくお願い致します。

<シート名:果物札幌A> - - - - - - - - - - - - - - - - -

	A	    B	C	    D	E	F	G	H	I	    J	K	L	M	N	     O	P	Q	R	S
1	商品コード	商品名	産地コード	産地名	単位	仕入価格	卸価格	利益	仕入日	   購入数	販売数	残数	分類	有効日	    支所名	店コード	店名	地域名	担当者名
2	123456	     ふじ	111111	    青森	コ	80	100	20	20150101	11	5	6	果物	2015年5月25日	札幌	123456	札幌A	北海道	AA
3	456879	     紅玉	222222	    秋田	コ	105	130	25	20150102	22	10	12	果物	2015年5月25日	札幌	123456	札幌A	北海道	AA
4	789123	     つがる	333333	    新潟	コ	115	150	35	20150103	33	15	18	果物	2015年5月25日	札幌	123456	札幌A	北海道	AA
5																			
<シート名:魚小樽B>			-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-
	A	    B	C	    D	E	F	G	H	I	     J	K	L	M	N	     O	P	Q	R	S
1	商品コード	商品名	産地コード	産地名	単位	仕入価格	卸価格	利益	仕入日	    購入数	販売数	残数	分類	有効日	    支所名	店コード	店名	地域名	担当者名
2	111111	     さんま	111111	    青森	コ	80	100	20	20150101	40	30	10	魚	2015年5月25日	小樽	111222	小樽B	北海道	BB
3	111112	     いか	222222	    秋田	コ	105	130	25	20150102	60	20	40	魚	2015年5月25日	小樽	111222	小樽B	北海道	BB
4																			
<シート名:シート集計>			-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-
	A	    B	C	    D	E	F	G	H	I	     J	K	L	M	N	     O	P	Q	R	S
1	商品コード	商品名	産地コード	産地名	単位	仕入価格	卸価格	利益	仕入日	    購入数	販売数	残数	分類	有効日	    支所名	店コード	店名	地域名	担当者名
2	123456	      ふじ	111111	    青森	コ	80	100	20	20150101	11	5	6	果物	2015年5月25日	札幌	123456	札幌A	北海道	AA
3	456879	紅玉	222222	秋田	コ	105	130	25	20150102	22	10	12	果物	2015年5月25日	札幌	123456	札幌A	北海道	AA
4	789123	     つがる	333333	    新潟	コ	115	150	35	20150103	33	15	18	果物	2015年5月25日	札幌	123456	札幌A	北海道	AA
5	111111	     さんま	111111	    青森	コ	80	100	20	20150101	40	30	10	魚	2015年5月25日	小樽	111222	小樽B	北海道	BB
6	111112	     いか	222222	    秋田	コ	105	130	25	20150102	60	20	40	魚	2015年5月25日	小樽	111222	小樽B	北海道	BB

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 マクロの例です。

 1)Alt+F11 で VBE を起動、
 2)挿入⇒標準モジュールを選択、
 3)そこに下のコードをコピーしてWindow を閉じ、
 4)EXCEL に戻って Alt+F8 で「集計」を実行です。

 Sub 集計()
    Dim 集計シート As Worksheet
    Set 集計シート = ThisWorkbook.Worksheets("シート集計")  '// 集計シート名

    集計シート.Cells.Clear '// 集計開始時に一旦クリアする場合。常に追記の場合はこの行を削除

    Dim データシート As Worksheet
    Dim 集計最終行 As Long
    Dim データ最終行 As Long

    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual

    For Each データシート In ThisWorkbook.Worksheets
        If データシート.Name <> 集計シート.Name Then
            集計最終行 = 集計シート.Cells(Rows.Count, "A").End(xlUp).Row
            データ最終行 = データシート.Cells(Rows.Count, "A").End(xlUp).Row
            If 集計シート.Range("A2").Value = "" Then
                データシート.Range("A1").Resize(データ最終行, 19).Copy 集計シート.Range("A1").Resize(データ最終行, 19)
            Else
                データシート.Range("A2").Resize(データ最終行 - 1, 19).Copy 集計シート.Cells(集計最終行 + 1, "A").Resize(データ最終行 - 1, 19)
            End If
        End If
    Next

    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True
 End Sub

(Mook) 2015/05/26(火) 16:48


Mook様ご連絡有難うございました。

少々時間が掛かりましたが出来ました。

すごいですね

仕事の時間がものすごく短縮されます。

本当に有難うございました。
(anan) 2015/05/26(火) 17:23


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.