• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:複数ファイルから特定セルの抽出の仕方)

複数ファイルから特定セルの抽出の仕方

このQ&Aのポイント
  • エクセルで複数のファイルから特定のセルのデータを抽出する方法について学びたいです。
  • 特定のフォルダ内の複数のファイルから、シートの特定のセルのデータを抜き出し、別のシートにまとめたいです。
  • ファイルを読み取りやすい形に変換し、セルを抽出して新しいシートに貼り付けたいですが、初心者でどのように行えば良いかわかりません。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

おや,そんな所で引っかかるとはちょっと想定外でした。 >初期化のところの”どこかのフォルダ”というのは何をさすのでしょうか? アナタはナントナクでrisutoフォルダと簡単に説明してますが,具体的にそれはいったいどこにあるのですか?ということです。 もしまだrisutoフォルダを準備すらしてないというのなら,これはマクロがどうこう以前のアナタが今ヤリタイ事の大前提なのですから,先に用意してください。 対象のブックもそこに先に全部ぶち込んで,アナタがご相談で「こうしたい」という前提をキチンと準備してから,ようやく作業にかかれるというモノです。 ついでに。 もし,どう準備したらいいのかも判ってないなら。 調べ方: アナタが用意したrisutoフォルダを右クリックしてプロパティを開いてみると,だいたい添付図のように現れます。 ここではrisutoフォルダは,Cドライブにあるtestというフォルダの中に置いてあることが示されています。 この場合マクロでは mypath = "c:\test\risuto\" のようにしなさいということです。 #余談 また,元のご相談にもちょっとあって先の回答でも触れましたが,ごく基本のマクロについてキチンと勉強していれば  set w = workbooks.open(filename:=mypath & myfile) といった部分で,ファイルを開くには 参考書に出てくる基本構文:  workbooks.open filename:="c:\どこかのフォルダ\risuto\book1.xls" などのようにドライブ名(c:など)から始まる「フルパス」をキチンと記入しなきゃいけません,みたいなこともごく基本の知識として身に付いていたはずです。 こういった要素技術を一つずつ丁寧に理解して組み合わせ,いまアナタのやりたい全体の仕事を組み上げていく事になります。 #参考書によっては,curdirやcurdriveを先に設定してから,そこからの相対パスでファイルを開いたり保存する方法について追加で解説している場合もあります。 #余談ついでに アタマで考えるのは勿論悪い事じゃありませんが,考えるだけで終わりじゃちょっと情けないですね。 「こうかなぁ」と思ったのならまずご自分の手を動かしてやってみてから,それで失敗したら改めて「こう思ってこうしたらこんな具合に失敗した。どうしたらよかったか」みたいに質問してみたらどうですか?とは思います。

kottagogo
質問者

お礼

そうですね。それなりにわかったつもりでいたのですが、結果を早く出したいばかりに基本がなっていませんでした。 もっともっと勉強しなければなりません。 詳しく回答して頂いたのでこちらの思う表もできあがりました。 ありがとうございました。

その他の回答 (1)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

参考書に載っているような基本のパターンを組み合わせて行います。ごく単純な応用問題です。 sub macro1()  dim myPath as string  dim myFile as string  dim w as workbook  dim n as long ’初期化  mypath = "c:\どこかのフォルダ\risuto\"  myfile = dir(mypath & "*.xls*")  thisworkbook.worksheets.add before:=thisworkbook.worksheets(1)  application.calculation = xlcalculationmanual  application.screenupdating = false ’ブックの値を調べて持ってくる  do until myfile = ""   set w = workbooks.open(filename:=mypath & myfile)   n = n + 1   thisworkbook.worksheets(1).range("M1:O1").offset(n).value = w.worksheets("Sheet1").range("M5:O5").value   w.close false   myfile = dir()  loop  application.screenupdating = true  application.calculation = xlcalculationautomatic end sub

kottagogo
質問者

補足

回答ありがとうございます。 通して読んで流れが解りよかったのですが、わからない点があります。 初期化のところの”どこかのフォルダ”というのは何をさすのでしょうか?risutoというフォルダが保存されているところなのか、これからつくる新しいシートの保存先なのでしょうか?

関連するQ&A