Excelマクロで複数ファイルから特定セルの抽出

このQ&Aのポイント
  • Excel2003を使用して特定のセルにデータを入力し、それを元に計算する方法を知りたいです。
  • 複数のBook(ファイル)から計算されたセルのデータを抽出し、新しいBookに順に並べたいです。
  • マクロないしVBAを使用して、複数ファイルから特定セルのデータを抽出する方法を教えてください。
回答を見る
  • ベストアンサー

Excelマクロ。複数ファイルから特定セルの抽出

Excel2003を使用しています。 あらかじめ特定のセルにデータを入力してそのデータを元に計算。 それらのBookは日付ごとに1つのBookとなっています。 今、各Book(ファイル?)から計算されたセルのデータを抽出し、 新しいBookにそれらのデータを順に並べたい。 具体的には A列:Book名(日付) B列:各々のBookの特定のセル C列:以下、同様 ・ ・ ということを考えています。 いろいろ調べてみると、マクロないしVBAを用いるとよさそうだ、 ということは分かったのですが、知識が乏しく難航しています。 なにか参考になるページないし、やり方とうアドバイスいただけますでしょうか。

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

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

ご質問の回答ではありませんが、 マスターとなるブックにシートをコピィするマクロ紹介しておきます。 新規のブック(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)に作成したマクロを実施、 データのファイル閉じて、次のファイル開く 以下繰り返し で、まずは、マスターとなるシートを作成することをお勧めします。

sute_rain
質問者

お礼

上記マクロを参考に勉強してみます。 とりあえず、No.1さんの回答にもあったように、 まだすくないうちにデータを整理してみます。 ありがとうございました。

その他の回答 (2)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.3

#No1、#No2です。 No2で紹介したマクロは、メインとなるブックに、分散したデータを コピペするマクロの参考です。 分散したデータの整理のでも使ってください。 少なければ、手作業でコピペ繰り返してもかまわないでしょう。

sute_rain
質問者

お礼

回答者さんのIDを見てませんでした。 同一の方とは失礼しました。 乗せていただいたマクロを試しに実行したところ、 手で作業するよりは早くできそうな感じだったので、 使用させていただきました。ありがとうございました!

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

毎日、ファイルが増えていくということですが、 まだ、間に合うなら、そのようなことはやめたほうが良いです。 マスターデータは、あくまでもひとつのファイルに下方向へ増やす。 計算結果や集計を別シートに表示する。 データベースの基本です。 毎日、メールなどでデータが送られてくるのでしょうか。 マクロの組み方としては、添付ファイルを開いて、内容をマスターとなるブックにコピペする。 添付ファイルは、不要にしてしまう。 こんな感じでしょうか。 的外れであれば、忘れてください。

sute_rain
質問者

お礼

実にその通りですね、いまさら気づきました。 参考にさせていただきます。 最近になって後の検索に不便なことに気づいたのですが、時既にって感じでした。 実は実験データを蓄積しているのですが、 日付というよりはサンプルごとに、といった具合です。 いくつかのセルのデータだけ抽出したいところですが、 シートごとならマクロを記録することで作れそうなのですが、 Bookがまたがっているため、それが出来ずといった感じです。

関連するQ&A

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

    同一フォルダ内にある複数のExcelブックから特定シートの特定セル値を抽出して一覧表にまとめるExcel マクロ(VBA)を教えてください。 よく似ている質問、回答を読んだのですが、私のレベルではとても応用できず質問させていただきます。 【前提】 ・実行する端末のOSはWindows XP(SP3)、Excelは2003 ・対象フォルダはネットワーク接続フォルダ「\データ解析\データ」  この中に、複数のExcelブックがあります。 ・抽出したい対象は、各ブック内のシート(シート名はファイル名と同じ)の「BO6からBW16までの□の範囲」で統一されています。 【抽出一覧作成イメージ】 ・「集計.xls」ブックの「Sheet1」の2行目から抽出した結果を一覧表示する。 ・表示はA列に抽出元ブック名(=ファイル名)、B列に抽出元BO6セルの値。以降,C列・D列と 順に値を入れていきたい。 ・BO6~BW16までのセル値を「集計.xls」ブックの「Sheet1」に貼り付ける際には「値で貼り付ける」が望ましい。 というようなイメージです。 とても勝手なお願いではありますが、宜しくお願いいたします。

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

    同一フォルダ内にある複数のExcelブックから特定シートの特定セル値を抽出して一覧表にまとめるExcel マクロ(VBA)を教えてください。 よく似ている質問、回答を読んだのですが、私のレベルではとても応用できず質問させていただきます。 全く同じものがあれば、そのアドレスを回答いただくだけでも助かります。 【前提】 ・実行する端末のOSはWindows XP(SP3)、Excelは2003 ・対象フォルダはネットワーク接続フォルダ「\\share\target」  この中に、複数のExcelブックがあります。 ・抽出したい対象は、各ブック内の「概要」シートの「C3」セルで統一されています。 【抽出一覧作成イメージ】 ・「集約.xls」ブックの「Sheet1」の2行目から抽出した結果を一覧表示する。 ・表示はA列に抽出元ブック名(=ファイル名)、B列に抽出元C3セルの値。 ・C3セル値を「集約.xls」ブックの「Sheet1」に貼り付ける際には「値で貼り付ける」が望ましい。 というようなイメージです。 とても勝手なお願いではありますが、宜しくお願いいたします。

  • Excelで特定のセルを自動で抽出するには

    Excel2003を使用しており、マクロの知識は皆無です。 特定のセルを定期的に抽出し、別シートに貼り付けていくという動作を、マクロなどの方法で自動で行うことは可能でしょうか。 また、それが可能な場合、外部データを取り込んだセルでも可能でしょうか。 抽出したいセル100列以上あります。 それを、例えば1時間に1回の間隔でコピーし、別シートに貼り付け、時間ごとに次の行に追加されるようにしたいと考えております。 ソースコードを記載して頂けたら幸いですが、可否だけの回答でも構いません。 宜しくお願いします。

  • EXCELで複数ファイルのセル抽出マクロ

    EXCELで複数ファイルのセル抽出マクロ いつもお世話になっております。 首題の件ですが、複数のEXCELファイル約100個があるフォルダに入っています。 フォーマットは統一されていますが、記載してあることは別です。 特定のセルの内容を抽出し、別のEXCELブックに保存したいと考えております。 例) パス-D:\集計\ ファイル名-統一されていません シート名-アンケート(統一している) 抽出したいセル-A1:A10とC10:C20(結合されているセルもあります) できれば保存するEXCELブックに抽出したA1の全集計結果をA1に、 抽出したC10の全集計結果をC10に保存したいのです。(1ファイルずつ改行を入れて) マクロを検索して調べてみたのですが、自分の環境に合わせてみるとうまく動かなく、 (単に私の勉強不足ですが・・・)お手上げ状態です。 皆様、宜しくお願いします。 また、厚かましく下記にも別件で質問をしております。 お力添え頂ければ幸いです。 http://okwave.jp/qa/q6170791.html

  • 複数の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 VBAで複数のExcelブックからある文字列を検索→抽出したものをまとめたい

    Excel VBAで以下の操作は可能でしょうか。 私はAccessVBAを少しさわる程度でExcel VBAはまったくわかりませんし、 まだ現物データを見ていないので説明不足ですが、 ご存知の方がいらっしゃいましたらどうぞご回答をお願いします。 コード等もあわせて教えて下さるととても助かります。 複数のExcelブックからある文字列を検索→抽出したものをまとめたい。 ・検索抽出したい文字列の入っているセル位置は固定。 ・抽出したデータを新たなファイルにするか、どうするかはまだ未定。 ・Excelブックは100個ほどある。

  • エクセル:複数ブックをマクロを使い同一条件で集約・抽出したい

    教えて下さい 複数のエクセルブックがあります(全て1フォルダーに集約してある) それぞれA列に日付、B列に金額が入っている 複数あるブックを指定する日付で次から次へと検索しその金額とファイル名を新しいブックに縦に全てコピー(抽出)したい ちなみに、必ず条件にあうデータがそれぞれのブックにあるとは限りません 無い場合もあります 無い場合は特に抽出する必要はありません ========================================================= 例:2007/12のデータを抽出したい ★抽出結果イメージ    A      B    C 1 2007/12   200   ああああ.xls 2 2007/12   300   いいいい.xls 3 2007/12   100   うううう.xls 4   ・      ・      ・ 5   ・      ・      ・ 6   ・      ・      ・ 7   ・      ・      ・ ========================================================= このような場合、マクロでできますか?マクロは初心者です 教えてください よろしくお願いします 複数あるブックとは数的に60とかあります ちなみに現状はファイルを一つ一つ開き、指定日付を検索し見つけだし その行をコピーペーストしています たくさんブックがあるので、これをしていると目がチカチカしてきてしまいます この作業がマクロでできると、すごく感激なのですが・・・ どなたか、お知恵・お力をおかしくださいませ

  • エクセル 抽出マクロについて

    はじめまして。マクロ初心者です。 エクセルで抽出結果を別シートにコピーしたいのですが、 抽出条件が2列にわたっています。 A     B      C      D 日付   タイトル   分類(あ)  分類(い) 11/22   テレビ    3      2 12/15   ラジオ    1      4 11/18   雑誌     2      5 …というような感じです。 例えば分類が「2」のものを抽出したい時に、 ●シート1のあるセルに「2」と入力してマクロを実行。  ↓ ●シート2に以下のように結果をコピーして表示。 A       B 日付     タイトル 11/22     テレビ 11/18     雑誌 という具合にしたいのです。(C列、D列は表示しない) データはシート3に入力されていて、今後どんどん増えていく予定です。 エクセルは2007です。 本やホームページを参考に試行錯誤したのですが、うまくいきません…。 どなたかご回答よろしくお願いいたします。  

  • マクロの記録がうまくいきません。マクロの記録→セルを押してWEBクエリ

    マクロの記録がうまくいきません。マクロの記録→セルを押してWEBクエリを選択→データを取り込み→シートに表示されそれを日付順にセルの並び替えを選択→並び替えを確認→マクロの記録の停止の順でやっているのですが、マクロを実行するとデータは記録できているけど日付順の並び替えのみができていません。なぜでしょうか?何回記録しなおしても日付だけ並び替えされて記録されていません。ご教授お願いします。Windows 7 でExcel2007を使用しています。

  • 複数のエクセルファイルからデータ抽出とまとめる

    集約一覧表と同じ場所にある複数のサブフォルダ全てにある全てのエクセルブックからデータを抽出して集約一覧表に表示させたいのですが、どのようにマクロを組めばいいのかわかりません。 抽出するデータは B1、B3、B7、B9 です。これを集約一覧の2行目から順番に各行に各エクセルブックの抽出データをB1をA列、B3をB列、B7をC列、B9をD列に表示させできることならE列に各ブックへのハイパーリンクを自動で貼るマクロを作りたいと思っています。 更に今後、集約一覧をフォルダごと移動することも考えて絶対パスを自動で取得できるようにもしたいです。 初心者の為、いろいろエクセルのガイドブックやいろんなサイトの似たような質問をたどってみましたがよく理解できず困っています。どなたかご教示いただけませんでしょうか?

専門家に質問してみよう