• 締切済み

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

教えてください。 「A」「B」「C」「D」「E」「F」「G」 と言った名前のエクセルファイルがあります。 実際は約50個ありますが・・・。 それぞれ、Sheet1にのみ同じフォーマットですが、行数というか、件数が異なります。 新しいエクセルブックのSheet1にA」のデータの下に「B」のデータを貼り付けるという風に、「A」~「G」をまとめて一つのシートにまとめたいです。コピペではなくマクロでできるということを知りました。 毎月作業することになるので、マクロを組んでおきたいと思っています。 しかし、マクロは単純作業を記録して実行するというような基本的なことしかわかりません。 専門的用語ではなく、 (1)ツールをクリック (2)すべてのブックを開いておく (3)Visual Basicをクリック などというように、手順を教えていただけないでしょうか? よろしくお願いします。

みんなの回答

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

VBエディターの起動はご存知でしょうか ツールー>マクロー>VBエディター で起動します。 標準モジュールを挿入します。 エディターの 挿入ー>標準モジュール でVBA記述する部分ができます。 下をコピイして貼り付けてください。 Sub Sample1() Dim buf As String, i As Long Dim j buf = Dir(Sheets("Sheet1").Range("A1").Value & "\*.xls") Do While buf <> "" Workbooks.Open Worksheets("Sheet1").Range("A1").Value & "\" & buf Sheets("Sheet1").Range("A1:J1000").Copy ThisWorkbook.Activate Range("A65536").End(xlUp).Offset(1, 0).Select ActiveSheet.Paste Workbooks(buf).Activate Application.CutCopyMode = False Workbooks(buf).Close SaveChanges:=False buf = Dir() Loop End Sub エディターを閉じます。 このファイルのSheet1のA1セルに「A」「B」「C」「D」「E」「F」「G」を保存しているパスを入れます。 C:\データ とかです。 Sheet1以外のシートを選択して 上記マクロを実行してみてください。 Dir関数は少し特別ですが Dir(Sheets("Sheet1").Range("A1").Value & "\*.xls") A1セルで指定したパスのエクセルファイル(*.xls)のファイル名が全て変数 bufに入ります。 buf = Dir()で順番にファイルが取り出せます。 データを保存したフォルダには他のエクセルファイルは保存しておかないでください。(それらも追加されます) Range("A1:J1000").Copy それぞれのファイルのデータがA列から始まり最大J列 1000行まであるとしています。 Sheets("Sheet1").Range("A1:J1000").Copyの"Sheet1"はデータのファイルのシート名です。 必要に応じて変更してください。 例えば1行目にタイトルがあってコピイ不要であれば Range("A2:J1000").Copy とかにします。 Range("A65536").End(xlUp).Offset(1, 0).Selectは A列の最終の行から順に上に上がり空白でない行の1つ上の行です。 あとは なんとなく動きとコマンドを日本語にしてみるとわかるかもしれませんが詳しくはVBAの本を参考にしてください。 詳しく書こうとすると難しくなります。

関連するQ&A

  • 一つのシートのデータを部署ごとに複数のブックへマクロを使って切り分けたい

    一つの大きなデータがエクセルのSheet1にあります。 以下は例です。 NO | 部署 | 分類 | 商品名 | 数量 | 単価 | 売上金額 1  | 福岡 | 家具 |テーブル| 3 |198,000 | 594,000 2 | 大阪 | 家具 |テーブル| 2 |198,000 | 396,000 3 | 大阪 | 家具 |テーブル| 4 |198,000 | 792,000 部署ごとにマクロを利用して、複数のブックに切り分ける作業を行いたいです。 しかし、マクロは単純作業を記録して実行するというような基本的なことしかわかりません。 専門的用語ではなく、 (1)ツールをクリック (2)すべてのブックを開いておく (3)Visual Basicをクリック などというように、手順を教えていただけないでしょうか? よろしくお願いします。

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

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

  • Excel2013 複数ファイルシート別結合

    複数のエクセルファイルがありシート名A、B、C、D、Eとあります。 B8からG8まで題名がありB9からデータが入ってます。 B9からのデータ行数は毎回違います。それを同じシート名ごとに貼り付けたいです。 エクセル1エクセル2エクセル3 全シート名があるエクセル1のデータの下に貼り付けていきたいです。エクセル2とエクセル3を ファイルごとにあるシートは変わります。ないシートがあったりします。 それをマクロでやりたいです。よろしくお願いします。

  • エクセルで複数のブックに分かれているデータをまとめる方法

    エクセルを使っています。 ・複数のシート(シートA、シートB、シートC)にあるデータを、一つのシートにまとめる良い方法を教えて下さい。 ・各シートのデータですが、1.列数は同じ、2.行数はばらばらです。 ・各シートにあるデータを、一つのシートに縦に長くコピーしたいです。 簡単なマクロならがんばって使いたいので、マクロのヒントでもかまいません。 どうぞよろしくお願いいたします。

  • ブック間のシート移動

    EXCEL VBA初心者です。 ブックAのシートAをブックBのシートの一番左側に移動させようと思います。 以下を実行するとエラーが出ますがなぜでしょうか? エラーの原因と対策方法を教えて下さい。 Sub シート移動() Worksheets("シートA").Move _ Before:=Workbooks("ブックB.xls").Sheets(1) End Sub ブックAはブック名が毎回変わります。 ブックAはメール添付を開いたブックです。 ブックAはシートがシートAしかありません。 シートAは名前が変わりません。 マクロコードはブックBあるいは個人用マクロブックに置きます。 よろしくお願いします。

  • 複数のブックから特定データ群を新ブックにまとめたい

    こんにちは。 EXCEL2007について、ご教示ください。 EXCEL2007で、複数ブック内の特定シート上にある特定のデータ(複数) を特定ブックにまとめたいのですが、うまくできずに悩んでいます。 <やりたいこと>  ・参照元は特定フォルダ内にある全ファイルが対象(100程度)  ・ブック内の特定シートが対象(シート名は  ・コピー   (1) 元シートのA4~F4セル(セル結合されています)のデータを、     先シートのB2セルへコピー   (2) 元シートのG4~L4(セル結合)のデータを、先シートのC2セル     へコピー   (3) 元シートのG6~R6セルのデータを、先シートのE2セルへコピー  ・コピー2   次ブックを読み込み、1行下(B3、C3、E3)にコピーする。  ・コピー3   以降1行下にコピーし、ファイルが無くなるまで繰り返す。 以上ですが、マクロでできるように教えていただけないでしょうか。 よろしくお願いいたします。

  • エクセル:複数シートの一括処理

    お世話になります。 エクセルで1つのブックに複数のシートがあります。 書式は同じですが行数がそれぞれ違います。 A列で、データが入力されている一番下のセルの次の行から、エクセルの最終行である65536行までの行を全て選択して「削除」をしたいのです。(行の削除)しかも全シート一括で。 A列でデータが入っている一番下のセルがA550だった場合、551行~65536行までを全て選択→削除を行う。 これらの作業をするためのマクロを教えてください。

  • EXCELの複数シートをそれぞれ別ブックへ保存したい

    EXCEL97を使用しています。 1つのブック内に複数のシート(10~20枚)があります。 これを全て1シートずつの別のブックに分けて保存をするマクロを作成したいのですが、できますでしょうか? できれば各シート内の(A4)に入力されている文字列を各ブックの名前として使用したいのですが・・・。 (各シートのセルA4の値に重複はありません) 現在は各シートを新しいブックにコピーして名前を付けて保存、の作業をシート数分繰り返しています。 すみませんがよろしくお願いいたします。

  • 複数ファイルからデータを一括コピペするマクロ

    同じブックの中に複数ファイルがあります。ファイルはどれも同一のフォーマットです。 それぞれにシートが3つあるのですがこの3つの中のシートの中の1つのシートのA1からA10と B1からB10のデータを抽出してきて同じブックの中の「まとめ」とあるシートのB1:K1・B2:K2に縦横変換してコピペをしたいです。 ファイルが60くらいあるので繰り返し開いてコピペしての作業が大変なので これを繰り返し下どんどんファイルからコピペしたいです。 1つのファイルから2行まとめにコピペするのですが、マクロで簡単に作業できる方法はないでしょうか? またファイル名をまとめシートA1にも記載したいのですが、可能でしょうか? 記録マクロで作成しようと思ったのですが複数ファイルを次々「まとめ」シートに羅列ができず。。 お力を貸していただきたいです。 よろしくお願い致します。

  • 複数のブックのデーターをひとつにできますか?

    複数のブックにシートが1個づつ、中は同じ種類のタイトルデータ、記号やコメント文章、同じなんですが、これらのブックを新しいブックのシートに指定したブックの順番にデーターが、繋ぎ合わさせることって、できるのでしょうか? たとえば、50個づつのデータが入っているファイルが10個あるとすれば、 新しい11個めのエクセルファイルのシートにデータが500個となる。 こんなことって出来ますか? できるとすれば、マクロという方法ですか? 難しいでしょうか? マクロを書いてくれるようなサービスはないでしょうか? 有るとすれば、どのような単語で検索すれば、マクロを作ってくれるサイトが見つかるでしょうか?

専門家に質問してみよう