• ベストアンサー

複数のエクセルファイルを1つにまとめたい

定型書式のエクセルデータが数百あります。 その複数のファイルを1ファイルにまとめたいのです。 コピー&ペーストを繰り返すのではなく、簡単にできる方法がありますでしょうか。 よろしくお願いいたします。

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

  • ベストアンサー
  • ki-aaa
  • ベストアンサー率49% (105/213)
回答No.3

>実際の作業ファイルのシート名にしようと試みました。 マクロ文中の"Sheet1"を全て実際のシート名(例えば"data form")へ置き換えたのですが これは、数百あるデータが、"data form"のシートに有るとすれば、 >file_name = Dir(m & "*.xls") Do While file_name <> "" If file_name <> m_file_name Then Workbooks.Open Filename:=m & file_name この下部分のコード ' Sheets("Sheet1").Select を Sheets("data form").Select に変えてください。 その下にある11ヶ所のm_file.Sheets("Sheet1").はまとめ用のファイルのシートを指定しています。 また、一番左端にあるシートを指定したい場合は、Sheets(1)のように、括弧の中は数字の1になります。 でわ、よろしく

hyahya
質問者

お礼

何度もありがとうございます。できました! これで月曜日の仕事のめどがつきました。 本当にありがとうございました。 これを機会に、マクロを勉強したいと思います。 (まずは簡単なものから・・・)

その他の回答 (2)

  • ki-aaa
  • ベストアンサー率49% (105/213)
回答No.2

こんにちわ、これで如何ですか。 各ファイルのシート"Sheet1"にデータがあります。 Sub file_sam() Application.ScreenUpdating = False Dim file_name Dim m_file_name As String Dim j As Long Dim m_file As Workbook Dim m As String Set m_file = ThisWorkbook m_file_name = ThisWorkbook.Name j = 2 m = "C:\Exle_Data\" 'C:\Exle_Data\を実際のフォルダに変えてください。 file_name = Dir(m & "*.xls") Do While file_name <> "" If file_name <> m_file_name Then Workbooks.Open Filename:=m & file_name ' Sheets("Sheet1").Select m_file.Sheets("Sheet1").Range("A" & j) = j - 1 m_file.Sheets("Sheet1").Range("B" & j) = Range("D3") m_file.Sheets("Sheet1").Range("C" & j) = Range("D4") m_file.Sheets("Sheet1").Range("D" & j) = Range("D5") m_file.Sheets("Sheet1").Range("E" & j) = Range("D6") m_file.Sheets("Sheet1").Range("F" & j) = Range("D7") m_file.Sheets("Sheet1").Range("G" & j) = Range("J4") m_file.Sheets("Sheet1").Range("H" & j) = Range("J5") m_file.Sheets("Sheet1").Range("I" & j) = Range("J6") m_file.Sheets("Sheet1").Range("J" & j) = Range("J7") m_file.Sheets("Sheet1").Range("K" & j) = file_name file_name = Dir j = j + 1 Application.DisplayAlerts = False ActiveWindow.Close Application.DisplayAlerts = True Else file_name = Dir End If Loop End Sub

hyahya
質問者

お礼

書いていただいたマクロ文をそっくり貼り付けたところ、うまく動作しました!ありがとうございます。 重ねての質問で恐縮ですが、実際の作業ファイルのシート名にしようと試みました。 マクロ文中の"Sheet1"を全て実際のシート名(例えば"data form")へ置き換えたのですが、『実行時エラー'9':インデックスが有効範囲にありません』となります。 もしかしたらシート"名"は関係なく、一番左端にあるシートが"Sheet1"と定義されるのでしょうか?(それも変か・・・) すでにお気づきだと思いますが、マクロを触ったのは、今回が初めてです・・・ お時間ありましたら、再度アドバイスをいただけますでしょうか。 よろしくお願いいたします。

  • Tibian
  • ベストアンサー率15% (30/188)
回答No.1

DBでやるのがベストだと思います。 その結果をエクセルから取り込みます。

hyahya
質問者

お礼

早速回答をいただき、ありがとうございます。 実は、EXCEL初心者なもので・・・DBというのは何になりますでしょうか?(Data Baseしか思いつきません)

関連するQ&A

  • 複数のエクセルファイルの数値をひとつのエクセルファイルでまとめるには?

     Winxp、Excel2003を使っています。複数のエクセルファイルから特定のセルの数値を抜き出し一つのファイルにまとめることは可能でしょうか?  具体的に申し上げますと、データ集計のため、複数のエクセルファイル(500個程度)から125R×1Cのセル内の数値(○×)を抜き出し一つの新しいデータ集計用のエクセルファイルを作成する作業をしています。一つずつコピー&ペーストで作成するとかなりの時間がかかってしまい困っています。    上記のような作業を簡単に、正確に行うためのオススメの方法やフリーソフトがありましたら教えて頂けますでしょうか。お願い致します。

  • エクセルの複数のブックを1つにしたい

    こんにちは。 エクセルの複数のブックを1つのブックにまとめたいのです。(シートをコピーしたい) コピー&ペーストでできますが、エクセルの機能で他にはないですか?外部データの取り込みで実行したら書式まではインポートできませんでした。 VBAでもできましたが、他の(もっと簡単でエクセルの普通の機能を使って)やり方はないでしょうか? よろしくお願いします。

  • 複数のExcelファイルをまとめる方法

    複数のExcelファイルを1つのExcelファイルにまとめる方法(ソフト)を教えてください。 まとめる際に1ファイルが1シートになるようにまとめたいのです。 つまり5つのファイルがある場合、5つのシートにしたいのです。 コピー&ペーストで頑張ればできますが、自動でできるフリーソフトかマクロがないか探しています。

  • 複数のエクセルファイルのデータを新規のファイルで一覧表にまとめるには?

    1つのホルダーの中に1000のエクセルファイルがあり、これらのファイルには、複数のシートがあります。これら1000のファイルから指定するシート(シートの様式とシート名は同じ)のデータ(C5:C17)を一覧表にまとめたいのです。 1000のエクセルファイル名は、○_■(○:個別、■:共通)で、一覧表は新たなエクセルファイルを作成し、1行目は左(A1)から順に、○(ファイル名の個別の部分)、C5のデータ、C6のデータ..C17のデータを  2行目には次のエクセルファイルの○(ファイル名の個別の部分)、C5のデータ、C6のデータ..C17のデータを ・・ と1000ファイルのデータをコピー&ペーストしたく、マクロ作りに挑戦したのですが、うまくいきません。どなたか助けてください。よろしくお願いいたします。

  • エクセルで複数の書式データをまとめたい

    現在、エクセルで複数のファイルがあります。 書式のデザイン等はみんな一緒なのですが、 中のデータはすべて違うので、よくある「統合」などとは 意味が違ってくるのですが、そのデータを 一つにまとめて活用したいのです。 一つにまとめるのはもちろんエクセルファイルでまとめる事が できれば問題ありません。 もし可能であれば方法を教えていただければと思います。 よろしくお願いします。

  • 複数のエクセルファイルのを一つにまとめたいです

    複数のエクセルファイルのを一つにまとめたいです。 いろいろな回答を見てみましたが、難しくて分かりませんでした。 複数のエクセルのファイル・複数のシートを条件はなくただ1シート、1データにしたいのです。エクセル初級者ですが、どうかよろしくお願い致します。

  • エクセルVBA複数ファイルのデータを1つのシートに

    (1)サーバー上にある圧縮ファイルをダウンロード (URLはエクセルの一覧表をクリック)※図A (2)ダウンロードした圧縮ファイル(ZIP形式)を解凍する (3)エクセルファイルを開いて範囲を指定してコピー (コピーする範囲はB2:C101の100行2列のデータ)※図B (4)コピーしたデータを別ファイルのエクセルシートにペースト (シートは1枚、下に下に続けてペースト) 表にあるURL一覧の最後まで(1)~(4)を繰り返す (パソコン環境) Windows10 Google Chrome Excel2010

  • 複数のEXCELファイルを一度にインポートするには?

    150個のEXCELのファイルがあります。 列はすべて同じデータで、行数だけがファイルによって違います。 だいたいどのファイルも30行ぐらいです。 これをすべてひとつのファイルにまとめたいのですが、どのような処理をすればいいのか、今ひとつ思いつきません。 EXCELのひとつひとつのファイルを開いて、新しいファイルにひたすらコピーしていくには時間がかかるし、Accessにひとつずつインポートしていくにも時間がかかってしまうので、複数のEXCELのファイルを一度にまとめる方法がありましたら、教えていただきたいのですが。。。 とにかく150×30行のデータを一つのファイルにつくりたいのですが、何かいい方法がありましたら、ヒントでもいただけたらお願いします。 Accessはクエリ程度、EXCELは関数を使える程度で、マクロは全く初心者です。 よろしくお願いいたします。

  • Excel 異なるワークブック同士でのコピペ

    Excelで、複数にわたるワークブック中のデータを、新しいワークブックにコピー&ペーストし、新たなる表を作成するのですが、時折ペーストを間違え、表結果に誤りが出てしまいます。 確実にデータをコピーしていく方法はありますか? 「参照」という方法がコピペよりも確実だというのですが、これはどのようにすればいいのでしょうか? 教えてください。

  • EXCELで複数シート作成後、全シート書式設定の同一設定は可能か

     質問はタイトルの通りです。  EXCELの使用で、一つのファイルで複数シート作成し、個々のシートの複数のセルに別の文字等を入力後、何かの設定操作で全部のシートの書式設定を同一の書式設定にすることは可能でしょうか。  データ入力前でしたら、書式設定後にシートのコピーすれば同一書式に設定されているのでコピーして使用しています。  ちなみに使っているものはEXCEL2002 SP3です。  可能でしたら操作方法をお教えください。  宜しくお願い致します。

専門家に質問してみよう