複数のブックをまとめる方法

このQ&Aのポイント
  • 複数のブックを1つのシートにまとめる方法を紹介します。マクロやVBAを使用することで効率的にデータを統合できます。
  • 具体的な手順は以下の通りです。まず、統合したいデータを含むブックを開きます。次に、目的のシートを作成し、データを貼り付けます。最後に、マクロやVBAを使用してデータを統合します。
  • データ統合の際には、ファイルの場所や拡張子の指定に注意が必要です。また、別のシートを選ぶ理由や、Excelの機能を使って日付を入力する方法についても説明します。
回答を見る
  • ベストアンサー

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

マクロ、VBAは全くの初心者です。 会社の売り上げのデーターが日付ごとに複数のファイルに分かれていまして、それを1枚のシートに貼り付けようとしています。かなり多くの数があり、最初はコピー貼り付けで行っていましたが数日かかりそうなので調べたところマクロでできるとのことでそれを行ってみましたが、何度やっても何も起こらなかったので質問させていただきます。 参考にしたのはhttp://okwave.jp/qa/q4225063.html でした。 sheet1のセルA1にC:|\・・・と貼り付けましたが拡張子がわからず、いろいろと試しましたが何もおこらず。あと別シートを選ぶの意味が分からなかったのですがいろいろやってみても何も起きませんでした。 近くにパソコンに詳しい方がいないので困っています。 できれば詳しく馬鹿でもわかるようにやり方を教えてくれたらありがたく思います。 さらになんですけど入力した際にデータが入っている前の列に日付をそのまま入れられたら本当に助かるのですが・・どこまでexcelでおこなえるかがわからないので・・・ どなたか詳しい方がいらっしゃいましたらお願いいたします。

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

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

動物さんにも判るように説明するとなると、随分と冗長になってしまいます。我慢してよく読んでその通りに行ってください。 まず準備として、集めたい複数のブックをまとめて入れておく、決まった置き場所(フォルダ)を用意します たとえばあなたのマイドキュメントの中に「元データ」とでも名前を付けたフォルダを用意します 元データフォルダに、あなたが準備した複数のブックをまとめて放り込んでおきます。 フォルダを用意するのが分からないときは:  マイドキュメントを開く  右クリックして新規作成でフォルダを選ぶ  「新しいフォルダ」という名前のフォルダの名前を元データに修正する フォルダの名前の変更のやりかたが分からないときは:  フォルダを選ぶ  F2キーを押す  名前部分が選択されるので、元データと書き換える 次に調査として、元データフォルダに入れた売上データブックの1つを右クリックして「プロパティ」を確認します 場所:欄に、元データフォルダまでのパスが表示されているので、間違えないようによく読み取ります たとえば c:\Users\<UserName>\Documents\元データ といった具合に書かれています。ダイアログからマウスでこの文字列を選択して、右クリックしてコピーしてもOKです。 さて。 あなたのご相談では、次のような点が説明不足です。 1.売り上げデータが日付ごと記入されているそれぞれのブックには、いったい何枚のシートが入っているのか   1冊のブックには1枚だけシートがあって、それを取ってくればいいのか   実は1冊のブックに複数のシートがあって、イチイチシートをめくって取ってこなきゃならないのか 2.売り上げが記入されている各シートの、具体的にどこのセル範囲をコピーしたいのか   具体的に何列からどこ列までなのか   たとえば30行目までのように固定のセル範囲で決まっているのか   それとも、シートごとに何行記入されているのかバラバラなので、イチイチ調べてコピーしたいのか   調べるとしたら、いったいどこ列をみれば「この行が一番下の行だ」と判るようになっているのか あなたもイチイチ言われて説明したくないでしょうから、勝手にこちらでこういう事だとして説明を続けます。ご自分で適切に修正してください。 ○ブックには1枚だけシートが含まれている ○各シートはA列からJ列まで使っている ○A列の一番下が、その表の一番下の行になっている ○1行目にはタイトル行が記入してあり、2行目からデータがつらつら並んでいる ○1行目はコピーせず、2行目からのデータだけコピーしてきたい ようやく本番です。 集約用のブックを1冊用意し、元データフォルダの隣に保存しておきます 間違っても元データフォルダの中に入れてしまわないように気を付けます 集約ブックを開く ALT+F11を押す 現れた画面で挿入メニューから標準モジュールを挿入する 現れたシートに下記をコピー貼り付ける sub macro1()  dim myPath as string  dim myFile as string  dim flg as boolean  worksheets.add before:=worksheets(1)  flg = true ’さっき調べたパスを下記に記入する。最後の¥を消してしまわないよう注意する  mypath = "c:\Users\<UserName>\Documents\元データ" & "\"  myfile = dir(mypath & "*.xls*")  do until myfile = ""   workbooks.open mypath & myfile   range(iif(flg, "A1:J", "A2:J") & range("A65536").end(xlup).row).copy _    thisworkbook.worksheets(1).range("A65536").end(xlup).offset(1)   workbooks(myfile).close false   flg = false   myfile = dir()  loop  workbooks.open mypath & dir(mypath & "*.xls*")  range("1:1").copy thisworkbook.worksheets(1).range("A1")  workbooks(myfile).close false end sub ファイルメニューから終了してエクセルに戻る ALF+F8を押してマクロを実行する。 それから >入力した際にデータが入っている前の列に日付をそのまま入れられたら本当に助かる どこに何をどこから取ってきてどうしたいのか、さっぱり意味不明です。 キチンと具体的な「目に見える」情報を添えて、何をしたいのか別途のご相談として改めて投稿してください。

photosyrup
質問者

お礼

keithinさん>わかりやすいご回答をしていただきまして本当にありがとうございます。 やってみましたがどうやらパスが違うみたいで存在しないとエラーが出ます。デスクトップにH22というフォルダーを作り行ってみました。 myPath = "C:¥Users¥UserName¥Desktop¥H22¥"のような形です。動物なのでどこが悪いのか・・。 指摘頂きました内容をもっと具体的に記載して改めて投稿しなおしますので出来ましたらよろしくお願いします。

関連するQ&A

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

    以下のような回答を見つけましたが、制約があります。 http://okwave.jp/qa/q4225063.html 1.シートの見出しが各自違う 2.csvファイルである 2はマクロ中の拡張子をかえれば対応できると思うのですが、1はcsvに適応できるマクロなどあるのでしょうか。一括で複数のシート名を変えるマクロ教えていただけますか。

  • 複数のシートのデータをひとつのシートに纏める

    EXCELにおいて、複数のシートのA列のデータをひとつのシートにまとめるにはどのようなマクロを組めばよいのでしょうか。 (内容) ”Cycle1”SheetのA列をコピー⇒”まとめ”SheetのA列に貼り付け ⇒”Cycle2”SheetのA列をコピー⇒”まとめ”SheetのB列に貼り付け ⇒”Cycle3”SheetのA列をコピー⇒”まとめ”SheetのC列に貼り付け ⇒”Cycle4”SheetのA列をコピー⇒”まとめ”SheetのD列に貼り付け ・・・。 現在は、上記の内容を手動でやっており、シート数が多い場合大変です。 よろしくお願いします。

  • VBA 今日の行にあるセル コピー 別シートへ

    (1)sheet1にボタン button1 があり、そのボタンを押すと、マクロが起動する。 (2)データは sheet2 貼り付け先は sheet3 sheet2 F列に日付が入っています。   F列は、日付(過去~本日まで ※未来の日付はありません)か、空白の場合があります。 F列の日付が本日のとき、 sheet2 A列のセルの値を sheet3 B列へ。  A列には連番。 sheet2 D列のセルの値を sheet3 C列へ。 sheet2 G列のセルの値を sheet3 D列へ。 sheet2 F列のセルの値を sheet3 E列へ。 それぞれ、Sheet3の各行の一番下に貼り付ける形をとりたいのです。 こちらでマクロはどうしたらよいのでしょうか。

  • 貼付用シートを更新するとデータシートの新セルに更新

    シートが2種類(データ用、貼付け用)あります。 VLOOKUPを使用して、貼付け用の数値をデータ用に表示させる。という仕様になっています。 貼付け用のシートを更新するだけで、データ用シートの新しいセルに入力されるようにしたいのですが、マクロを使って出来ることなのでしょうか? 分かればマクロのソースを教えてください。 たとえば、数値が出ると特定の列の関数が確定する用に出来ますか?

  • エクセル 1つのシートを日付で複数シートに分けたい

    エクセル2007を使用してます。初心者です。 1行名に列ごとのタイトルが入ってます。 A列~S列まで色々とデータが入っており、M列に日付(20140618のように)が入ってます。 このシートを日付ごとに別シートに分けたいのですが、何か計算式かもしくはマクロでできますか? できれば、R列に入っている数字を日付のあとにつけて自動で保存できると大変助かるのですが・・・。(20140618-2 というような感じ) マクロの扱い方も良く分からないので教えていただけると助かります。

  • エクセル複数シートの検索とVBA

    エクセルVBA初心者です。 今エクセル2007で、下画像の上段・中段のような売上げシートを ブックの中に複数シート作成しています。 シートは売上げのあった日毎に作成しており、シート名は「1.1」のように日付にしています。 売上日はシートの左上のA1セルに入力しています。 ここでしたい処理なのですが、画像の下段のように検索用の シートを1枚作り、そこに売上内容を入力し、マクロコードを実行すれま、自動的に 該当するデータ(売上内容から支払い方法まで)を表示するコードはあるのでしょうか。 今は手作業で、シートを目視で確認しているので大変になってきました。 よろしくお願いします。

  • 複数シートへのリンク貼り付けについて

    エクセルマクロ勉強中です。 シート1のセルA2の値をシート2のセルA1にリンク貼り付け。シート2のセルA2の値を シート3のセルA1にリンク貼り付け。このスタイルでシートを増やして行った時、それぞれのシート間でコピー、リンク貼り付けをしなくても自動的にコピー、リンク貼り付けが出来るマクロがあれば教えて下さい。 又、各シート名を変更してもリンク貼り付けの設定が変わらないように出来るでしょうか?

  • Excel 複数ブックを1つのシートにまとめる

    フォルダ内のワークブック約2,000個のデータを1つのシートにまとめたいのですが、VBAの勉強を始めたものの時間ばかりかかってなかなかうまくいかないので、ご指導をお願いいたします。 コピー対象の各ブック内のデータは以下の通りです ・シートは一番左端のもの1つ ・データの行数はバラバラで終端行の検出基準は「J列」 ・データの列は12列で固定 上記のようなデータをまとめ用の新規ブックを作って、1つのシートに全ブックのデータを加算してコピーをしたいです。 コピー対象の各ブックのシート名などは要りません。 ご教示よろしくお願いします。

  • エクセルマクロ:別のブックから該当するデータをコピー

    Book1のSheet1、A列に日付、B列に対応するデータがあります。 Book2のSheet1A1セルに入力された日付と一致するBook1Sheet1B列の値を、Book2のB1セルに値貼り付けしたいのですが、どのように記述すればよろしいでしょうか。 宜しくお願いいたします。

  • エクセルのデータ入力をマクロで行う方法は?

    はじめまして。初めて質問させていただきます。 Excelで作業を行っていたのですが、マクロ(VBA?)で分からないことが出てきました。 Sheet1のQ6セルとQ7セルが結合されています。そこにはデータ(数式)が入力されています。 同様に、Q8とQ9、Q10とQ11・・・というように、データ(数式)が続いています。データ数は300個です。 他のシート(Sheet2)の A4セルから下に、先程のQ6セルのデータ A5セルにQ8のデータ・・・ というように書きたいのです。 これをマクロを組んで行うことは出来るのでしょうか? さらに、Sheet1で数式だったデータを文字列で保存できるとなお嬉しいです。 マクロ初心者ですいませんが、皆様のお知恵をお貸しください。よろしくお願いいたします。

専門家に質問してみよう