複数シートの内容を1つのシートに集計するVBA
お世話になります。
ExcelのVBAについて質問させていただきます。
集計.xlsというブックがあります。
この中に[集計]、[東京支店]、[名古屋支店]、[大阪支店]というシートがあります。
やりたい事は[東京支店]、[名古屋支店]、[大阪支店]のシート内容を[集計]シートに順番にコピペしていきたいのです。
下記のVBAを組んでみましたがうまくいきません。
[東京支店]はうまくコピペ出来ますが、[名古屋支店]がコピペされず、[大阪支店]はコピペされますが東京支店のデータのすぐ下ではなく、50行ぐらい下の位置にコピペされてしまいます。
各支店のシートの内容は次の通りです。この内容を[集計]シートにコピペしたいのです。
[日付] [担当者] [金額]
11/1 田中 100円
11/2 山田 500円
どなたかご教授いただけますでしょうか?
環境
Windows XP SP3
Excel2003
****VBA****
Sub test()
Dim 下 As Integer
'東京支店
Sheets("東京支店").Select
Range("A2").Select
'東京支店シートの見出し以外の全データをコピー
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
'集計シートに貼り付け
Sheets("集計").Select
Range("A2").Select
ActiveSheet.Paste
'次は名古屋支店
Sheets("名古屋支店").Select
Range("A2").Select
'名古屋支店シートの見出し以外の全データをコピー
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
'集計シートの最下行を取得
Sheets("集計").Select
下 = Range("A1").CurrentRegion.Rows.Count + 1
'集計シートに貼り付け
Range("A2").Select
ActiveCell.Offset(下 & "," & 0).Select
ActiveSheet.Paste
'最後に大阪支店
Sheets("大阪支店").Select
Range("A2").Select
'大阪支店シートの見出し以外の全データをコピー
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
'集計シートの最下行を取得
Sheets("集計").Select
下 = Range("A1").CurrentRegion.Rows.Count + 1
'集計シートに貼り付け
Range("A2").Select
ActiveCell.Offset(下 & "," & 0).Select
ActiveSheet.Paste
End Sub
補足
返事が送れて申し訳ありません。 実際の内容とは異なるのですが、例えて言うと A列に性別、B列に身長、C列に体重、D列に最高血圧、E列に集計用に"1"を入れてあります。 A列は文字列ですが、他は数値です。 集計内容は、 『女性』×『150≦身長<160』×『45≦体重<50』とか 『男性』×『60≦体重<65』×『90≦血圧<110』とかの条件に当てはまる人は何人いるか? といった、抽出条件に範囲指定がついた、クロス集計のようなものです。