- ベストアンサー
Excelで複数のブックを一つにまとめる方法
- Excelで複数のブックを一つにまとめる方法について解説します。
- 多数の人に配布したファイルの回答をまとめるため、Excelを使用します。
- 回答のある行のみを抽出し、一つのファイルにまとめる方法を紹介します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
マクロを使って淡々と調べて集めます。 準備: A列に名前、B,C,D列(2列目から4列目)に質問とする 1行目にタイトル行、2行目からデータとする 400冊の回答ブックは一か所にまとめて保存しておく 言わずもがなですが回答ブックは、1枚のシートのみ含んでいて、記入してあるものとする 手順: 白紙のブックを一つ用意する ALT+F11を押す 現れた画面で挿入メニューから標準モジュールを挿入する 現れたシートに下記をコピー貼り付ける 必要な個所を修正する ファイルメニューから終了してエクセルに戻る ALT+F8を押し、マクロを実行する sub macro1() dim myPath as string dim myFile as string dim i as long mypath = "c:\test\" ’400冊のブックの保存場所を正確に記述すること myfile = dir(mypath & "*.xls*") do until myfile = "" workbooks.open filename:=mypath & myfile for i = 2 to 4 ’実際の質問列に合わせて修正すること range("A:D").autofilter field:=i, criteria1:="N" next i activesheet.autofilter.range.delete shift:=xlshiftup if range("A1") <> "" then activesheet.range("A1").currentregion.copy destination:=thisworkbook.worksheets(1).range("A65536").end(xlup).offset(1) end if activeworkbook.close false myfile = dir() loop end sub #言わずもがなですがマクロブックを400冊と同じ場所に保存「しない」こと
その他の回答 (3)
- INTLINSIDE
- ベストアンサー率42% (383/907)
修正のみで申し訳ないけど。 (私にポイントの類は付けないようにお願いします。私が書いたわけではないので) 試しに workbooks.open filename:=mypath & myfile を set book=workbooks.open filename:=mypath & myfile に変更。 activeworkbook.close false を book.close false に変更。 したらどうなるでしょうか。 >の三箇所を適切に変更したつもりなのですが((3 to 73)と("A:BU")に)、マ は (3 to 73)と("B:U") なのではないかと。 たぶん。
補足
修正どうもありがとうございます。 set book=workbooks.open filename:=mypath & myfileの部分でコンパイルエラーが起きてしまいます。 色々といじってみたのですが、知識不足で上手くいきませんでした。すみません。 また、(3 to 73)と("B:U")の部分はA列からBU列まで対象なのですが、("A:BU")にはならないのでしょうか。 ちなみに教えて頂いた、 activeworkbook.close false を book.close false に変更。 の部分だけやってみたのですが、やはり何も実行されませんでした。 どうぞ宜しくお願い致します。
- K Kazz(@JazzCorp)
- ベストアンサー率31% (549/1751)
作戦:結構高速版!! 1.データファイル(多分、多数のCSVファイル)を1つのフォルダ(例えば、d:\tmp)に集める。 2.cmdプロンプトのお世話になる。 →CD /d d:\tmp →COPY *.CSV Alltogether.xls 3.Alltogather.xlsを開き列分割。 「N」が3つ揃った行を抽出して、削除。 欲しかったものが手に入る、オシマイ!!
- INTLINSIDE
- ベストアンサー率42% (383/907)
VBAでやるしかないのでは。 できないなら誰かに書いて(作って)もらうしか無いでしょう。 私も一応書けますが。 行と列の構造とか、ファイル名はどんな感じでしょうか。 何行目から始まって何行目で終わるとか。 何列目に質問があって何列目に回答があるとか。 半角なのか全角なのかとか、まあいろいろ細かい仕様がわからないと作れないんで。 時間あるなら自分でやってみてもいいと思う。 http://excelvba.pc-users.net/ 400ファイルとなると覚えて書いたほうがたぶん早い。
補足
早速のご回答ありがとうございます。 教えて頂いた通りにやってみたのですが、上手くいきません。 mypath = "c:\test\" for i = 2 to 4 range("A:D") の三箇所を適切に変更したつもりなのですが((3 to 73)と("A:BU")に)、マクロを実行しても何も始まりません。マクロのセキュリティレベルはすべてのマクロ有効になっています。 マクロに不慣れなので恐らく初歩的な問題なのだと思いますが、教えて頂けますでしょうか。 お手数おかけしてすみません。