- ベストアンサー
複数シートの統合
フォルダーのなかに5名分の担当者のブックがあり、入力内容は全て同じになっています。 (A列はコード、B列は客先名、C列は本数・・・・) そのフォルダーが日付ごとにあるので、1月だったら31個あります。 日付ごとのフォルダーの中で、5名分のブックを1つのブックの1シートに統合することは可能でしょうか。 尚且つ、最終的に31個統合したブックを日付ごとのシートに分けて1つのブックに統合出来ますか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
「統合」というのが、単にシリアルに積み重ねる だけなら簡単に実現できます。 1ケ月分をまとめるのもVBAで簡単にできます。 結合ルール(例えば、結合後、各データが誰の ものか分からなくなっても良いとか、ブックの ファイル名が人名だから、これを生かしたい等) を細かく記載してください。また、マクロを使う ので、VisualBasicのカテゴリの方が回答を 得易いと思われます。
補足
Sub Test01() Application.ScreenUpdating = False fldPath = ThisWorkbook.Path & "\" fname = Dir(fldPath & "*.xls") Do Until fname = Empty If fname <> ThisWorkbook.Name Then Workbooks.Open fldPath & fname mx = Application.WorksheetFunction.Max(Sheets("aaa").Columns(1)) lr = Sheets("aaa").Range("A65536").End(xlUp).Row fr = ThisWorkbook.Sheets("TOTAL").Range("A65536").End(xlUp).Row + 1 Sheets("Sheet1").Rows("3:" & lr).Copy Application.DisplayAlerts = False ActiveWorkbook.Close (False) Application.DisplayAlerts = True ThisWorkbook.Sheets("TOTAL").Cells(fr, 3).Select ActiveSheet.Paste Application.CutCopyMode = False End If fname = Dir Loop Application.ScreenUpdating = True End Sub 上記のようにマクロを組んで見ましたが、 『クリップボードに保存されているデータの大きさや形が、指定された領域と異なります』 というメッセージが出てActiveSheet.Paste がエラーになります。 どこか間違っているのでしょうか。 (1)ファイルの中に5名分のブックがある (2)各ブックの中のシートが1~30に分かれている (3)Workbook("Total")のシートも1~30に分かれている (4)Totalにマクロを組む (5)各ブックのA3:X(最終行数は入力されている行数まで)のデーターをTotalの B3:Yまでコピーされる 例:『aaa』ブックのシート『1』のA3の値が『Total』ブックのシート『1』のB3 にコピー ※5名分のシートのB列には関数が入力されています。 (6)1~30の全てのシートに(5)を繰り返していく 上記の説明でわかりますか?