• ベストアンサー

フォルダ内の全てのブックを一つのブックへ

エクセル2010を使っています。 フォルダ内の全てのブックの一番目のシートのみを、 BBB.xlsmというファイルの後ろへ全て1シートずつコピーしたいです。 又はBBB.xlsxでもいいです。 運用していく中で、マクロ用のファイルと作業用のファイルを分けるべきか、 一緒にするべきかも悩んでいます。 フォルダはその都度変わります。 ネットを検索してみたのですが、中々難しく、悩んでいます。 どうぞよろしくお願いします。

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

以下のページはご覧になったのでしょうか? 複数ブックのシートを1つのブックにコピーする http://www.moug.net/tech/exvba/0060003.html

ngttyy
質問者

お礼

最後尾にコピーする事以外は解決できました。 どうもありがとうございました。

ngttyy
質問者

補足

わかりやすいサイトのご紹介をありがとうございました。会社ではそのページがブロックされていて見られないので、家に帰って印刷していてお返事に時間がかかってしまいました。 で、またこの中で質問です。 フォルダをマクロ実行中に選択するようにするには、この場合どのように記述すれば良いですか? Set dlg = Application.FileDialog(msoFileDialogFolderPicker) 'キャンセル時にはマクロを終了 If dlg.Show = False Then Exit Sub このような物を改変して使おうとしたのですが、うまく動きませんでした。 それと、 'コピー元の一つ目のシートを集約用ブックに移動 sWB.Worksheets("sheet1").Move After:=dWB.Worksheets(Sheets.Count) と記述したのですが、シートの順番が全て後ろから前になってしまいます。 リンクだとまた会社からでは見られないので、どうぞよろしくお願いします。

その他の回答 (1)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

>フォルダをマクロ実行中に選択するようにするには、この場合どのように記述すれば良いですか? 以下のページが参考になると思います。 http://www.officetanaka.net/excel/vba/tips/tips39.htm >'コピー元の一つ目のシートを集約用ブックに移動 sWB.Worksheets("sheet1").Move After:=dWB.Worksheets(Sheets.Count) と記述したのですが、シートの順番が全て後ろから前になってしまいます。 データベースブックに「コピー」ではなく「移動」でよろしいのでしょうか? データベースの最後のシートに順次追加されるコードになっているのですが、逆に配置したいということでしょうか? その場合はAfterの代わりにBeforeを指定してください。

ngttyy
質問者

お礼

最後尾にコピーする事以外は解決できましたが、これ以上ここの質問では回答が付かないようなので、一度〆させていただきます。 ご紹介のサイトでは出来なかったのですが、取得したフォルダ名の後ろに¥を追加するコードを入れたら無事動くようになりました。 ご回答いただかなければやはり自分一人では解決出来ない問題ばかりでした。 どうもありがとうございました。

ngttyy
質問者

補足

ありがとうございます。 やはり移動ではなくコピーにしたいと思います。 逆というのは、新しいものがどんどん左側に来てしまうということです。 右に追加したいのですが。 マクロ実行中にフォルダを選択するのは、今日会社に行ってからまた改めてやってみたいと思います。 そのご紹介のページは検索したときに見つけてやってみていたのですが、なぜかうまく動かず、悩んでおりました。

関連するQ&A

  • シートを一つのブックにまとめるには

    こんばんは ただいま夜中の1:20です。 マクロを考えているんですが、うまくうごかないです。 みなさまの知恵を拝借させてください。  デスクトップの経理フォルダに 仕入.xlsx 売上.xlsx まとめ.xlsm があります。  仕入の2月シート、売り上げの2月シートをまとめxlsmにコピーしたいのですが マクロの記述はどうなりますでしょうか? 自分なりにつくってみたのですが、経理フォルダを動かすとうまく作動しなくなりました。 thisworkbook.path をどこかにいれれば動くようですが、どこにいれればよいやら。 希望する動作としては まとめ.xlsm のシート1に記載されている ファイル名とシート名に該当するものを まとめ.xlsmにコピーできればと思ってます。

  • フォルダ内の全てのBookに同じ処理を繰り返す

    フォルダ内にエクセルファイルが約3,000個あります。 この全てのBookに同じ処理をしたいのですが、マクロで繰り返す方法がわからないので教えて下さい。 処理をする内容は簡単なもので、マクロで作りました。 ・ 各Bookには1つのシートしか存在せず、シート名は重要ではないので全て「Sheet1」になっています。 ・ 各Bookのデータの配置や表形式は同じです。 ・ レコードの行数がBookによって異なります。 処理の内容をマクロで作るところまではできましたが、知識がないためタイムアウトです。 ご教示宜しくお願い致します。

  • (VBA一部使用中)手作業部分を減らしたいです・・

    こんばんは、 EXCEL2010を使っています。 A.xlsm B.xlsm C.xlsm BOOK1.xlsx ~ BOOK10.xlsx(ファイルごとに行数はバラバラ、列数はA~Dで固定) というファイルがあり、すべて開いている状態です。 使用しているのはすべてSheet1のみです。 1.BOOK1.xlsxのA~D列を手動でコピー 2.A.xlsmのA~D列にBOOK1.xlsxのA~D列を手動で貼付け macro1というマクロを実行(A~E列をマクロでB.xlsmのA~E列にコピー&貼付け) 3.B.xlsmでmacro2というマクロを実行(I1~K1に数値が出現、マクロでコピー状態) 4.C.xlsmのB18~D18に手動で貼付け 5.1に戻ってBOOK2.xlsxで以下同じ作業   C19~D19に貼付け   これをBOOK10.xlsxまで続けて保存 これをA,B,Cのファイルを使用したまま マクロを使って簡略化することは可能でしょうか? (例えばボタンを押したら1~4までを自動でやってくれるような) よろしくお願いいたします。

  • あるシートをすべてのブックにコピーしたい

    後追加された一つのシートをあるフォルダにあるすべてのexcelブックにコピーしたいですが、ひとつづつコピー上書きしていくとかなり時間がかかります。(500~600ファイルあります) excel マクロで簡単に終わらせることができないでしょうか?

  • フォルダ内ブックの数式を全て値に変換するマクロ?

    「フォーマット」というフォルダの中に、 001.xlsx~200.xlsxまで連番のエクセルファイルが入っています。 各ブックの中には「確認用」という統一した名称のシートが1枚だけ入っており、 全て書式は一緒です。 それぞれ別のブックを参照する数式が入っているのですが、 ファイル単体で各所にメールで送るため、数式を全て値に変換したいのです。 「確認用」シートを全選択(ctrl+Aと同じ意味)コピーして値で貼りつけて保存して閉じるという動作を フォルダ内の全ファイルに対して一括で行うために効率良い方法はありますでしょうか?

  • フォルダ内の特定ブックだけを1つのブックにまとめる

    はじめましてマクロ超初心者です。 会社のシステム(ツール?)で同じフォルダに1案件につき2つのブックが作成されます。 毎回約30案件、すなわち同じフォルダに60ブックあります。 (1)同じフルダ内に60ブック (2)その内、同じ案件が2つ。ブック名「1_****」と「2_****」 ****は毎回かわる (3)ブックには2つのシート。シート名「1」と「2」 (4)ブック「1_****」のシート「1」が開いた状態、ブック「2_****」のシート「2」が開いた状態になってる (5)必要なのはブック「1_****」のシート「1」とブック「2_****」のシート「2」 この「1_****」のシート「1」と「2_****」シート「2」を「1_****」にまとめる作業を毎回手作業でやっています。これをなんとかマクロで出来ないでしょうか?同じフォルダにある複数ブックをまとめるマクロは見つけました、複数=全てのブックに実行されてしまいます。フォルダ内の特定のブックをまとめるマクロがみつからず。。。どなたかご教授して頂けませんか?

  • フォルダ内にあるブックをひとつのブックの

    エクセルの質問です。 フォルダ内にあるブックをひとつのブックのワークシートに入れる マクロがほしいのですができる方よろしくお願いします。

  • Excel 操作したいbookをActiveにする

    こんにちは。 Excel 2007を使用しています。 今、作業手順がマクロで書いてあるファイルをmacro.xlsm 操作したいファイルをobject.xlsxとします。(名前は適宜変わります) また、両方のファイルをExcelで開いておきます。 マクロを実行させたいのですがmacro.xlsmをActiveにしないと マクロが実行できませんし、macro.xlsm自身を操作対象として 作業が始まってしまいます。 一番望ましいのはmacro.xlsmをActiveにしてマクロ開始キー (Ctrl+Shift+M) または「ボタン」などで対象となるファイルを選択して 操作を実行させたいのです。 なお条件としてExcelには上記の2つのファイルしか開いていません。 方法をご存じの方お教えください。

  • 複数エクセルブックを一つにするマクロが知りたいです

    フォルダ内に「01.xlsx」「02.xlsx」…「10.xlsx」という10個のブックがあります。 各ブックの中には、ブック名に対応した形で「01」「02」…「10」というシート名のシートが一つだけ入っています。 同フォルダ内に「matome.xlsx」というブックを用意して、マクロ処理をかけることで、「matome.xlsx」の中に「01」「02」…「10」のみの10個のシートが入った状態にしたいです。 マクロ処理をかける前の「matome.xlsx」のシートには、「sheet1」という、シートが一つだけ入っている状態です。 仕事のデータをまとめるのに、困っています。。。 何かいい方法はありますでしょうか。 マクロに詳しい方、お教えいただければ幸いですm(_ _)m

  • フォルダ内の全ブックのシート名を変更したいです。

    同一フォルダ内に、ファイル名の違うエクセルブックが100個ほどあります。 その100個のそれぞれには、シートが1つ入っています。(シート名は、ブック毎に異なっています) それらのシート名を100個全部、「2013-07」という名前にしたいのですが、マクロで一括処理はできますでしょうか? データが多く、マクロ初心者なので、困っております。。 エクセルは2013を使用しています。 お教えいただければ幸いですm(_ _)m

専門家に質問してみよう