- ベストアンサー
Excelマクロで複数ファイルから特定セルの抽出
- Excel2003を使用して特定のセルにデータを入力し、それを元に計算する方法を知りたいです。
- 複数のBook(ファイル)から計算されたセルのデータを抽出し、新しいBookに順に並べたいです。
- マクロないしVBAを使用して、複数ファイルから特定セルのデータを抽出する方法を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ご質問の回答ではありませんが、 マスターとなるブックにシートをコピィするマクロ紹介しておきます。 新規のブック(Book1として)を作成して、標準モジュールに以下のVBAをコピィ Sub ボタン1_Click() fname = ActiveWorkbook.Name Range("A1:Z2000").Select Selection.Copy Workbooks("Book1").Activate Range("B65536").End(xlUp).Offset(1, 0).Activate ActiveSheet.Paste ActiveCell.Offset(0, -1).Value = fname End Sub マクロの記録と違う部分ですが、 fname = ActiveWorkbook.Name は、開いているデータのファイル名を変数に入れておきます。 Range("B65536").End(xlUp).Offset(1, 0).Activateは、データの最終行をアクティブにする方法です。 わざとコピィをB列より右にしています。 ActiveCell.Offset(0, -1).Value = fname は、A列にデータのファイル名を入れます、後でフィルして埋めてください。 ファイルが沢山あると根気いると思いますが、 データのファイル開いて、新規(Book1)に作成したマクロを実施、 データのファイル閉じて、次のファイル開く 以下繰り返し で、まずは、マスターとなるシートを作成することをお勧めします。
その他の回答 (2)
- hallo-2007
- ベストアンサー率41% (888/2115)
#No1、#No2です。 No2で紹介したマクロは、メインとなるブックに、分散したデータを コピペするマクロの参考です。 分散したデータの整理のでも使ってください。 少なければ、手作業でコピペ繰り返してもかまわないでしょう。
お礼
回答者さんのIDを見てませんでした。 同一の方とは失礼しました。 乗せていただいたマクロを試しに実行したところ、 手で作業するよりは早くできそうな感じだったので、 使用させていただきました。ありがとうございました!
- hallo-2007
- ベストアンサー率41% (888/2115)
毎日、ファイルが増えていくということですが、 まだ、間に合うなら、そのようなことはやめたほうが良いです。 マスターデータは、あくまでもひとつのファイルに下方向へ増やす。 計算結果や集計を別シートに表示する。 データベースの基本です。 毎日、メールなどでデータが送られてくるのでしょうか。 マクロの組み方としては、添付ファイルを開いて、内容をマスターとなるブックにコピペする。 添付ファイルは、不要にしてしまう。 こんな感じでしょうか。 的外れであれば、忘れてください。
お礼
実にその通りですね、いまさら気づきました。 参考にさせていただきます。 最近になって後の検索に不便なことに気づいたのですが、時既にって感じでした。 実は実験データを蓄積しているのですが、 日付というよりはサンプルごとに、といった具合です。 いくつかのセルのデータだけ抽出したいところですが、 シートごとならマクロを記録することで作れそうなのですが、 Bookがまたがっているため、それが出来ずといった感じです。
お礼
上記マクロを参考に勉強してみます。 とりあえず、No.1さんの回答にもあったように、 まだすくないうちにデータを整理してみます。 ありがとうございました。