• 締切済み

複数のエクセルファイルで抽出したい。

すみません。取り急ぎ教えてください。 オナジフォーマットのエクセルファイルが30個ほどありまして、 その中にはオートフィルで抽出したいデータが2つあり、その抽出条件は3つあります。 1つは1列だけの抽出でOKですが、もうひとつは2列の抽出が必要なのです。 そして日別でファイルがあり、その各抽出したデータの列合計を、ひとつのグラフにしたいのですが、 簡単に出来る方法あがりますでしょうか? 取り急ぎで申し訳ないのですが、じかんがなくて…

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

(1)>エクセルファイルが30個ほどありまして 30ファイル全てを対象にするの。面倒でVBAでも使わないと普通いやになる量だ。 (2)>オートフィルで抽出したいデータが2つあり >データが2つありとは。条件のこと?2つのブックを対象にのこと? (3)>その抽出条件は3つあります これも独立したj1条件が三つか?複合条件で3つか? 例えばA列はX、B列はY、C列はZの行を抜き差しとか (4)>1つは1列だけの抽出でOKですが、(4)もうひとつは2列の抽出が必要なのです。 条件をかける列のこと。結果として表示する列のこと。 この書き方は相互関連が不明で良くわからない。 疑問噴出。 実例(列見出しやシート名とブック名を例示でモ宵が明示して)でも 挙げないからこうなる。 (1)の30ファイルなど言わずモガナのことでは。 ーーー エクセルではシートが違うと、別々に操作をしないといけないことがほとんど。 そして結果の合成はコピー貼り付けしかないこと (VBAでも使えない場合は) このことを肝に銘じて、内容を整理して質問してください。 ーーー 1シートで多列に条件を設定して抜き出すのはデーターフィルター「フィルタオプションの設定」しかないと思います。 (難しい関数組み合わせもなくは無いが) またVBAは判るのですか。 質問振りから、今の質問者には荷が重い課題ではないか。

  • skomasu
  • ベストアンサー率44% (4/9)
回答No.3

No.2です。 この場合、ボタン作成などより、ショートカットキー登録の方が早く処理が出来ますね。失礼しました。 あとは、忘れないでマクロの保存先を「個人用マクロブック」にすることですね。

  • skomasu
  • ベストアンサー率44% (4/9)
回答No.2

一連の操作を自動記録したマクロを作ってボタンに登録し、全部のファイルについていちいち開いて、マクロ実行を繰り返すなんてのはどうでしょうか…素でやるよりは早いかも。

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

一般機能では、30個のファイル開いてコピペなど繰り返すしかないと思います。 別スレで作成したVBA紹介しておきます 新しいブック作成して、最初のシートのA1に ファイルが入っているフォルダのパスを入れておきます。 以下をVBエディタにコピィして実行してみてください。 フォルダ内に分散しているファイルの内容を新しいブックにコピィしますので そのデータで集計してみてください。 Sub ブック結合() Dim buf As String, i As Long Dim j buf = Dir(Range("A1").Value & "\*.xls") Do While buf <> "" i = i + 1 Workbooks.Open Worksheets(1).Range("A1").Value & "\" & buf For j = 1 To Worksheets.Count ThisWorkbook.Worksheets(1).Cells(i + 1, j + 1) = Sheets(j).Name Worksheets(j).Copy After:=ThisWorkbook.Worksheets(1) Workbooks(buf).Activate Next ThisWorkbook.Worksheets(1).Cells(i + 1, 1) = buf Workbooks(buf).Close SaveChanges:=False buf = Dir() Loop End Sub