[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『複数シートの集計方法を教えて頂けないでしょうか』(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
少々時間が掛かりましたが出来ました。
すごいですね
仕事の時間がものすごく短縮されます。
本当に有難うございました。
(anan) 2015/05/26(火) 17:23
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.