• ベストアンサー

複数シートの統合

フォルダーのなかに5名分の担当者のブックがあり、入力内容は全て同じになっています。 (A列はコード、B列は客先名、C列は本数・・・・) そのフォルダーが日付ごとにあるので、1月だったら31個あります。 日付ごとのフォルダーの中で、5名分のブックを1つのブックの1シートに統合することは可能でしょうか。 尚且つ、最終的に31個統合したブックを日付ごとのシートに分けて1つのブックに統合出来ますか?

  • hrgc
  • お礼率47% (10/21)

質問者が選んだベストアンサー

  • ベストアンサー
  • nda23
  • ベストアンサー率54% (777/1415)
回答No.1

「統合」というのが、単にシリアルに積み重ねる だけなら簡単に実現できます。 1ケ月分をまとめるのもVBAで簡単にできます。 結合ルール(例えば、結合後、各データが誰の ものか分からなくなっても良いとか、ブックの ファイル名が人名だから、これを生かしたい等) を細かく記載してください。また、マクロを使う ので、VisualBasicのカテゴリの方が回答を 得易いと思われます。

hrgc
質問者

補足

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)を繰り返していく 上記の説明でわかりますか?

関連するQ&A

  • シートが増えていく場合の統合機能について

    シート名に日付を入れて、一日のデータを入力しています。 A     B    C あいう  5   2 かき   3   1 さし   2    0 A列の項目の部分は、増えていきます。データは、毎日ありませんので、シート名の日付は、続いていない時もあります。 で、そのシートの先頭(一番左側)に、日付で入力したシートのデータを統合しています。 日にちが多くなってくると、統合するのは大変なので、マクロ、VBAなどでできないかなぁといった相談です。 1.データを入力する用の”本日”という名前を作成し、データを入力する。 2.集計用のシートの右側のシート(1日とは限らないため)から本日までのシートを統合する。 3.統合できたら、1で作成した本日のシート名を日付に変更する。 2の部分でマクロでできるのかなぁと(マクロの知識がありません)思っているのですが、考え方自体が間違っていますか?マクロの本で探し作成してみましたが、シートが増えないデータ統合はできた(本に載っていたので)のですが、シートが増えていく場合はどのようにしたらいいのか、わかりません。「集計用シートの右側のシート」をどう指定するのかもわかりません。 こうういった統合でマクロを利用するのは、可能なのでしょうか? ご教授いただければ幸いです。

  • 複数シートのデータを行列を入れ替えて統合したい

    現在1ブックに30シートが入っています。 30シートすべて同じフォーマットで A      B 項目名1 データ1 項目名2 データ2 … のように複数行2列の内容です。 この30シート分のデータを行列を入れ替えて1シートに統合し A項目名1       B項目名2       C項目名3 シート1のデータ1  シート1データ2  シート1のデータ3 シート2のデータ1  シート2データ2  シート2のデータ3 … シート30のデータ1  シート30データ2  シート30のデータ3 のようにしたいのです。何ブックもあり、手動では時間がかかるため VBAで処理できたらと思います。 どのようにすればよいか教えていただければ助かります。

  • 複数のシートにあるテーブルデータを1枚のシートで集計

    こんにちは。 複数のシート上にあるテーブルデータを1枚のシートで集計したいと思います。 A列に"入金日 " B列に"担当者名" C列に"入金額" D列に"店舗名"とあるのですが、元データが入金日を基準に入力されているので、担当者名がダブっています。これを新しいシート一枚に各担当者ごとに合計の入金額を出したいのですが、どのようにしたら出来るでしょうか? 当方で、統合機能を使ってやってみましたが、担当者名と入金額は出るのですが、店舗名が1【合計しているためと思いますが、】になってしまいます。

  • 複数のシートの統合について

    複数のシートの統合について 8月から社内で異動があり、データ管理を作成することになりました。 現在取り組もうとしている作業は、ネット情報等で自分なりに調べた結果、 マクロを使わなければならないと判断し、本を買って勉強しています。 しかしVBAは超初心者で、期日までに間に合いそうにありません。 どうすればよいのかわからず、質問させていただきました。 どなたかご存じの方、ご教授願います。 内容は、 複数(15枚以内)のシートを1枚の統合シートにまとめるのですが、 新規行を入力後、その都度、統合シートの最終行に自動コピーされるようにしたいのです。 シート全体を統合シートにまとめるのはArrayやループ処理等を使って出来るようになったのですが。 VBAでなくともエクセル関数でも出来るのであれば、その方法も教えていただきまいと思います。

  • 集計表をエクセルで作成したい。

    エクセルで下記のような表を作成したいと思っていますが可能でしょうか、御教示お願い致します。 1.「シート1」のA列に日付・B列に客先コード・C列に客先名・D列に金額・E列に取得ポイントを入力します 2.行に発生順で入力します。その為、同じ客先コードが不規則に発生(入力)します 3.「シート2(1月分)」に、B列の客先コード別(C列に客先名も表示させる)にD列の金額・E列の取得ポイントを合計した一覧表を作成したい。 さらに、入力した時点で合計・更新をしたい 4.2月になれば「シート1」の1月分のデータを削除し2月分のデータ入力に使用したい よろしくお願い致します。

  • 複数のExcelブックから特定シートのセル範囲抽出

    同一フォルダ内にある複数のExcelブックから特定シートの特定セル範囲を抽出して一覧表にまとめるExcel マクロ(VBA)を教えてください。 このサイトで殆どよく似た回答を読んだのですがうまくいきません。VBA初心者です。 よろしくお願いします。 【前提】 ・実行する端末のOSはWindows 10 ExcelはOffice365 ProPlus ・対象フォルダはネットワーク接続フォルダ  この中に、複数のExcelブック(xlsx、xlsm)があります。 ・抽出したい対象は、各ブック内の「台帳」シートの「A3:Cの最終行」で  複数のブックの中には「台帳」シートが含まれていないブックも混在しています。 【抽出一覧作成イメージ】 ・「集約.xlsm」ブックの「集計」シートの2行目から抽出した結果を一覧表示する。 ・「集約.xlsm」ブックにマクロは登録する ・表示はA列に抽出元ブック名(=ファイル名)、B列からD列に抽出元「A3:Cの最終行」セルの値。 ・「A3:Cの最終行」セルの値を「集約.xlsm」ブックの「集計」に貼り付ける際には「値で貼り付ける」が望ましい。

  • Excel 複数ブックを1つのシートにまとめる

    フォルダ内のワークブック約2,000個のデータを1つのシートにまとめたいのですが、VBAの勉強を始めたものの時間ばかりかかってなかなかうまくいかないので、ご指導をお願いいたします。 コピー対象の各ブック内のデータは以下の通りです ・シートは一番左端のもの1つ ・データの行数はバラバラで終端行の検出基準は「J列」 ・データの列は12列で固定 上記のようなデータをまとめ用の新規ブックを作って、1つのシートに全ブックのデータを加算してコピーをしたいです。 コピー対象の各ブックのシート名などは要りません。 ご教示よろしくお願いします。

  • 指定フォルダから一致するブックのシートを読み込みたいのですが、、、

    伝票フォルダ内  (yymmブックが複数混在、シートは、ブック名と同名yymmが一枚のみです) ブックA内のシートA(RengeA1)に入力された"yy/mm"任意日付から、 伝票フォルダ内の一致するブックのシート名”yymm”を”顧客yymm”に変更して シートAの隣に追加したいのです。 日付入力エラー処理や編集後の他ブック、シートへ移動マクロは エラー無く、何とか組めるのですが、上記の検索シート追加の組み込み 構文がイマイチわかりません。どなたか助けてくださいTT

  • エクセル複数シートの検索とVBA

    エクセルVBA初心者です。 今エクセル2007で、下画像の上段・中段のような売上げシートを ブックの中に複数シート作成しています。 シートは売上げのあった日毎に作成しており、シート名は「1.1」のように日付にしています。 売上日はシートの左上のA1セルに入力しています。 ここでしたい処理なのですが、画像の下段のように検索用の シートを1枚作り、そこに売上内容を入力し、マクロコードを実行すれま、自動的に 該当するデータ(売上内容から支払い方法まで)を表示するコードはあるのでしょうか。 今は手作業で、シートを目視で確認しているので大変になってきました。 よろしくお願いします。

  • 複数あるブックの特定シートの特定範囲を1つにしたい

    EXCEL2010を使用しています。 あるフォルダに格納されている複数のブックの、特定シートを、1つのシートにまとめたいです。 複数のブックの作りは同じです。 1つのブックに、複数シートがあり、"(配置)"というシートだけを、新規のシートにまとめたいです。 <今ある各ブック> ファイル名は、2014年度特定措置_●●.xlsで、●●だけ、ブック名が違います。 シート名が"(配置)"です。 c3セルに部署名が入っています。 b4セルからe10セルまで数式が入っています。 <行いたいこと> 新規のシートのa列に、各ブックにあるc3セルの部署名を持ってきたい。 b列からe列に、各ブックにあるb4セルからe10セルまでの数式を値張りし、取り込みたい。 以上です。 つたない説明で恐縮ですが、大変困っております。 どうか、ご回答の程、どうぞよろしくお願いいたします。