• ベストアンサー

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

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

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

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

「マクロがほしい」って、自分で勉強してVBAやFSOでコードを作ること。人に頼らないこと。ここは要求してコードを作成してもらうコーナーではない。 自分でやってヒントをもらうぐらいにして。 ーーー 下記はGoogleでも照会すればコード例が多数ある。 (1)フォルダ内のエクセルブック名を1つずつ掴むコード (2)1つのブックの「ワークシートに入れる」シートは最初の1つか、そのブックにあるシートすべてか。 これらは質問に書いておくべきこと。 すべての場合は For Each Sh In Worksheetsのようなのですべてのシート名がとらえられる。 (3)コピー元のセル範囲は、そのシートの最終行や最右列をとらえるコードで割り出せる。 参考 あるブックでSheet4に他のシートを集約する例。 Sub test01() For Each sh In Worksheets MsgBox sh.Name If sh.Name <> "Sheet4" Then 'Sheet4は集約シート d = sh.Range("a65536").End(xlUp).Row '最終行取得 Range(sh.Cells(2, "A"), sh.Cells(d, "A")).Copy Worksheets("Sheet4").Range("A65536").End(xlUp).Offset(1, 0) End If Next End Sub (4)そのセル範囲(上記例にA列だけの例を挙げた)をコピーして、「>ひとつのブック」に新しいシートを挿入しそのA1セルを起点にして貼り付け。 参考例 同じブックで、シートのコピーによらずにコピーしたシートを増やす例。 ーー 質問ではブックが別のシートにコピーするが、同コードを変えればよいか勉強して。 上記コードは参考にしかならないようなものだが。 初心者には早すぎる課題と思うが。

mackoji
質問者

補足

無理難題なことですが、私がやりたいのは ワークシートをひとつのシートにまとめるのではなく 複数のエクセルブックをひとつのブックにまとめたいのです・・・ 宜しくお願いします。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.2

Dim シート数 As Long Dim 名前 As String Dim 他ブック As Workbook Dim 他シート As WorkSheet Application.DisplayAlerts = False シート数 = ThisWorkbook.WorkSheets.Count ChDir "D:\~" '目的のフォルダをカレントにする 名前 = Dir("*.xls") Do Until 名前 = ""     Set 他ブック = Workbooks.Open(名前)     For Each 他シート In 他ブック.WorkSheets         他シート.Copy After:=ThisWorkbook.WorkSheets(シート数)         シート数 = シート数 + 1     Next     他ブック.Close     名前 = Dir Loop Application.DisplayAlerts = True

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&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_****」にまとめる作業を毎回手作業でやっています。これをなんとかマクロで出来ないでしょうか?同じフォルダにある複数ブックをまとめるマクロは見つけました、複数=全てのブックに実行されてしまいます。フォルダ内の特定のブックをまとめるマクロがみつからず。。。どなたかご教授して頂けませんか?

  • フォルダ内にある複数エクセルブックを一つにまとめたい

    マクロを使って複数ブックを一つにマージしたいです。 どなたか宜しくお願いします。 フォルダに16個のエクセルブックがあります。ブックは4つのシートでできています。シートの列数は共通なのですが、行数が異なります。 これを新しいブックにコピペでつなげていきたいのです。 すみませんがどなたか宜しくお願いします。

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

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

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

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

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

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

  • VBAで別のExcelブックのボタンのマクロ登録

    Excelブック1とExcelブック2があります。 Excelブック1はVBAで 1)Excelブック2を開いて 2)Excelブック1のワークシート(Sheet1)と  モジュールシート(Module1)を  Excelブック2にコピーします。 3)ワークシート(Sheet1)にはコントロール(ボタン)が貼り付けてあって  このボタンをクリックするとモジュールシート(Module1)の中の  Excute_Button()というプロシージャ(マクロ)を呼び出すため  Excelブック1のVBAで  wb.Worksheets("Sheet1").Shapes.Range(Array("Button 1")).Select  Selection.OnAction = "Excute_Button"  と記述してボタンのマクロの登録をします。   (wbはExcelブック2を指しています) 4)Excelブック2を保存して閉じる。 という処理をしています。 この後、Excelブック1を閉じて、 Excelブック2を開いてワークシート(Sheet1)のボタンをクリックすると Excelブック1が開いてしまいます。 Excelブック2のボタンのマクロの登録のマクロ名を見てみると Excelブック1のファイル名!Excute_Button となっています。 Excelブック1のVBAで、ここを単にExcute_Buttonだけにするには どのようにすればよいでしょうか。

  • フォルダ内にある複数ブックのシート名の変更

    エクセルのVBAについて質問させて下さい。 現在、アクセス2000でクエリをマクロのワークシート変換で 規定のエクセルブック(2000)にエクスポートしています。 項目別なので30以上のブックになっています。 これを毎月の更新で12ヶ月分エクスポートします。 問題なのがクエリ名がシート名になっていますが、このシート名を 月によって変更したいのです。ブックが30以上あるので手作業では 自分1人の作業だとやってしまうのですが、不在時に他の人にやって もらうには無理があるかなと・・・。 イメージとしては、マクロブックのコマンドボタンを押すと そのフォルダにある30以上のブックの一番右にあるシートを マクロブックのセルA1に入力した月に変更し、変更したシート内の 1行目の項目名の長さに合わせてセルの幅を変更し、項目名に色をつけるというイメージです。 今までは2項目くらいだったので手作業でやっていたのですが、 30以上になると手作業ではつらい状況です。 VBAは初心者なので答えをいただけると大変ありがたいです。 よろしくお願いします。

  • 複数ブックの印刷マクロを作成したいと思っています。

    2つのフォルダがあり、その中に20のブックがそれぞれあります。 20のブックの中にはシートが4つづつあり、シート3とシート4のみ印刷したい。 1つのフォルダでは あまり詳しくありませんのでお知恵をお借りしたいと思います。 まず、フォルダの中にある複数ブックの印刷を一括で管理できるマクロは可能なのでしょうか。 二つのフォルダの中に20個のブックがあり、その中にはそれぞれ4シートあるExcelファイルで構成されています。 毎回シート3とシート4のみの印刷をブックの数だけ行います。 40ブックを開け、約80シート印刷するのを簡素化できないかなと思っております。 まず Aフォルダの中 20のブックの中にはシートが4つずつあり、それぞれシート3は全て印刷。 ブック15~19のみシート4は印刷しません。 要約しますと ブック1~14とブック20はシート3.シート4を印刷 ブック15~19はシート3のみ印刷 Bフォルダも同様 ブックそれぞれにマクロシートがあればいいかなと思っているのですが。。。 PC環境はXPです。その他重要なソフトが入っているのであまりマクロが重い場合は諦めようかなと思っています。 簡単に印刷できるようなら教えていただけると幸いです。 初心者なのでコピペでOKぐらいにしていただけますと助かります。 よろしくお願いいたします。

  • 同じフォルダにある50個のブックのそれぞれ50枚のシートの集計

    同じフォルダに50個のブックがあり、それぞれのブックが50枚のシートを持っています。ブック名として人の名前、シート名として地名がつけられています。(つまり、総計で2500の地名がつけられたシートがあります。)シートは全て同じ形式です。集計用ブックを作りこの2500枚のシートの同じセルの集計をしたいのですが、どうすればよろしいでしょうか?つまり、2500枚のシートのE1の合計が集計用ブックのSheet1のE1に入るようにしたいのです。2500枚のシートのセルには数式が入っていて、ほしいのはその計算結果(Value)の合計です。また、2500枚のシートのセルの計算結果が””の場合もあります。難しくなければマクロでも結構ですので、是非教えてください。

  • 複数のブックを新しいブックのにまとめたい

    1つのフォルダに現在20のブックがあり、さらに今後200位まで増えます。 それぞれのブックはPS×××××××(xは数字)で名前がついてます。 全てのブックのシート1に、A2~L2にかけて数値・名前などが記述されてます。 これらを「集計ブック」と名づけたブックの1つのシートにまとめたいのです。 「集計ブック」へは、A2~L2にPS××××××0のデータを、A3~L3にPS××××××1 のデータを、とシートの末尾7桁の昇降順(数字の少ない方から下へ大きくなるように) に並べたいです。 PS×××××××を作成し、フォルダに保存するだけで、自動的に「集計ブック」に 集計されていくマクロを教えて下さい。 マクロ自体も素人なので、操作方法・手順なども付け加えてくれると助かります。 よろしくお願い致します。