複数のエクセルブックを統合し集計するマクロ
各担当者の月毎の実績を集計するマクロを作ろうとしています。
*販売月、顧客名、金額などの見出しが各ブックの7行目まで、
8行目以降の行数は各担当者によって異なります。
(50行くらいの担当者もいれば300行くらいになる担当者も)
*"E1"に販売月を入力し、4月から翌年3月までの実績、予算を入れるのですが、
担当者によっては空白の行を挿入しているため、
空白以降の行がカウントされず、うまく集計できません。
*各ブックの実績データの下で集計しているため、値の入っているセルを選択するのではなく、
実績データ部分だけコピーするにはどうしたら良いのでしょうか?
範囲に名前を付ければ良いのでしょうか?
マクロのことがよく分かっておらず、ネットや本を見て
使えそうなマクロを組み合わせて作ってみたのですが、
何か良い方法があれば教えて頂けると大変助かります。
説明も下手で恐縮ですが宜しくお願い致します。
************************************
Workbooks.Open Filename:= _
"担当者A" _
, ReadOnly:=True
'"貼付シート"にコピー、ファイルを閉じる
Sheets(1).Select
Cells.Select
Selection.Copy
Range("A8").Select
Windows("貼り付けシートのあるブック").Activate
Sheets("貼付シート").Select
Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A1").Select
Windows(2).Activate
ActiveWorkbook.Close SaveChanges:=False
'貼付シートの各担当者の見出し行を削除
Rows("1:7").Select
Range("A1").Activate
Selection.Delete Shift:=xlUp
"統合シート"シートを新しいシート(Sheet1)として追加
Sheets("統合シート").Copy Before:=Sheets("統合シート")
Sheets("統合シート (2)").Name = "Sheet1"
'行数取得
Dim 件数 As Integer
Dim 行数 As Integer '前回までの行数用
Dim 行数_Total As Integer '最終行用
Sheets("貼付シート").Select
販売月セルで入力行数をカウント(必須入力項目の為)
Range("E1").Select
Selection.CurrentRegion.Select
件数 = Selection.Rows.Count
行数 = 件数 + 8 'Headder分(7行)の次の担当者のスタート行数を足す
'貼付シートからデータをコピーして貼り付け
Sheets("貼付シート").Select
Range(Cells(1, 2), Cells(件数, 49)).Select
Selection.Copy
Sheets("Sheet1").Select
Range("B8").Select
'元ファイルから値と書式を貼付
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
'最終行を前回最終行エリアへ移動
行数_Total = 行数
'貼付シートをクリア
Windows("統合シート").Activate
Sheets("貼付シート").Select
Cells.Select
Selection.Delete Shift:=xlUp
Range("A1").Select