• ベストアンサー

EXCELのブック間の抽出方法を教えてください。

Aという集合ブックがあります。B~Eの個人ブックがあります。 今現在は、マクロの自動記録を使って B~EのブックのB6:F25のセルを自動で AのブックのB6以降のセルに順番に貼り付けてくるようにしてますが、 ブックによってはB15の行までしか入力が無いものもあり、 空白の行までコピーしてきて見辛くなってしまってます。 空白行は抽出しないようにしたいのですが 何かいい方法がありましたら教えてほしいです。 宜しくお願い致します。

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

  • ベストアンサー
  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.2

#1と違った切り口で、貼り付け先のセルを集約ブック・シートB列のデータの入った最終セルの一つ下にすれば、空白をコピーして来ても関係なくなります。 Selection.Offset(1, 0).Select は、自動記録では得られないので、覚えるしかないです。 また、貼付先が空の時に誤動作しますので、IF文で分岐させています。ご参考まで。 Sub test() Windows("Book1.xls").Activate Sheets("Sheet1").Select Range("B6:F25").Select Selection.Copy Windows("Book2.xls").Activate Sheets("Sheet1").Select Range("B6").Select If Range("B6").Value <> "" Then Range("B65536").Select '2003以前の場合 Selection.End(xlUp).Select Selection.Offset(1, 0).Select End If ActiveSheet.Paste End Sub

kumi4520
質問者

お礼

ありがとうございます。 いっぱいお答えしてもらったんですけど、なにがなにやら分からなくて、とりあえず本で調べたりしてますけど、マクロが全然分からないので、勉強しないとです(ノω`*)アハッ ブック1とブック2って記述にありますけど、ブック3以降は同じような記述で追加したらいいものなのか、よくわからないことばかりなので、とりあえず貼ってみて動きを見ながら研究してみます。

その他の回答 (1)

回答No.1

マクロの記録で個人ブックでコピー範囲を決める箇所は 1. B6を選択する。 2. [Shift] を押したまま [End] を 1回押す。(Shift を離さずに) [↓] を 1回押す。 3. (Shift を離さずに) [End] を 1回押す。(Shift を離さずに) [→] を 1回押す。 という操作で記録してみては? [End]+[カーソルキー] はデータが連続して入力されていることが条件なので、場合によっては 2 と 3 を入れ替える必要があるかもしれないし、この方法が使えない可能性もある。 Range("B6").Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select

kumi4520
質問者

お礼

ありがとうございます。 B6がコピーのトップですけどB6~F6を下方向にコピーする場合は、B6~F6をドラックしてから2と3を処理したらいいのかなぁ・・・ マクロって処理は便利だけど分からない事ばかりで、難しいですね。。。

関連するQ&A

  • オートフィルタの結果を違うブックに貼り付ける

    マクロの初心者です。 Excel2003を使用しています。 仕事で作らなくてはならなくなったのですが、思うように動いてくれません。 【A・Bとブックが二つあります。AのブックのセルDにランダムで文字を入力します。その文字をコピーし、Bのブックを開き、オートフィルタでコピーした文字を貼り付けて、抽出します。その結果を上から3行コピーしてAのブックの他のシートに貼り付ける。】 このマクロを作りたいのですが、うまく出来ません。 あまり難しくないマクロで出来ればいいと思います。 よろしくお願いします。

  • エクセルで、データのある行だけを抽出したい。

    エクセルのSheet1にデータが入っており、セルが空白でない行のデータのみを、Sheet2に抽出したいと思っています。 Sheet2にあらかじめ関数を入れておく方法にしたいため、関数について教えてください。 タイムテーブルで予定を管理するような表で、A~Hまでにデータが入っています。 予定を入れる際にはE列には必ず入力をするため、E列が空白でない行のみを抽出したいです。 A|B|C|D|E|F|G|H 月|日|時間|… 11|22|10:00|… 11|22|10:30|… 時間枠は10:00~17:00の30分刻みで、1日15行使用するので、1年で5475行まで使用します。 1行目はタイトル行なので、データは2行目から入力しています。 フィルタオプションで抽出する方法や、それをマクロで登録しておく方法は分かったのですが、あとから予定を追加することがあるため、マクロを実行する度にデータが置き換わると困ってしまいます。 また、抽出したSheet2のI列以降には備考などを入力したいため、やはり後から列がずれると困るため、A~H列に関数を入れておく方法で実行したいと思います。 よろしくお願いいたします。

  • -excel-違うブックの文字列を含む行の抽出

    商品の価格を一括で変更できる方法を探しているのですが見つからず困っています。 全ての商品データが載ってるブックAがあります。価格を変更する商品のIDと値下げ後の値段が載っているブックBがあります。ブックAの商品価格をブックBの値下げ後価格に変更したいのですが、関数か、マクロなど何か良い方法はないでしょうか? 最悪価格は手動で変更するとしてせめてブックBのIDと合致するセルを持つブックAの行を抽出する方法はないでしょうか?抽出した行は別ブックにまとめてくれるとなお助かります。 ちなみにブックAには7000行、ブックBには1000行のデータがあります。 ブックA(商品データ) A列・・・・・・    F列・・・・・・・・ ID         価格 1234        2500 2345        3200 3456        1200 4567        3000 5678        1800 ブックB(価格変更データ) A列        B列 ID         価格 2345        2600 5678        1500 ↓ ブックA(商品データ)もしくは新規ブックC A列・・・・・・    F列・・・・・・・・ ID          価格 1234        2500 2345        2600 3456        1200 4567        3000 5678        1500 といった感じです。どなたかお知恵をお貸しください。よろしくお願いいたします。

  • エクセル:複数ブックをマクロを使い同一条件で集約・抽出したい

    教えて下さい 複数のエクセルブックがあります(全て1フォルダーに集約してある) それぞれA列に日付、B列に金額が入っている 複数あるブックを指定する日付で次から次へと検索しその金額とファイル名を新しいブックに縦に全てコピー(抽出)したい ちなみに、必ず条件にあうデータがそれぞれのブックにあるとは限りません 無い場合もあります 無い場合は特に抽出する必要はありません ========================================================= 例:2007/12のデータを抽出したい ★抽出結果イメージ    A      B    C 1 2007/12   200   ああああ.xls 2 2007/12   300   いいいい.xls 3 2007/12   100   うううう.xls 4   ・      ・      ・ 5   ・      ・      ・ 6   ・      ・      ・ 7   ・      ・      ・ ========================================================= このような場合、マクロでできますか?マクロは初心者です 教えてください よろしくお願いします 複数あるブックとは数的に60とかあります ちなみに現状はファイルを一つ一つ開き、指定日付を検索し見つけだし その行をコピーペーストしています たくさんブックがあるので、これをしていると目がチカチカしてきてしまいます この作業がマクロでできると、すごく感激なのですが・・・ どなたか、お知恵・お力をおかしくださいませ

  • 複数のエクセルファイルからデータ抽出とまとめる

    集約一覧表と同じ場所にある複数のサブフォルダ全てにある全てのエクセルブックからデータを抽出して集約一覧表に表示させたいのですが、どのようにマクロを組めばいいのかわかりません。 抽出するデータは B1、B3、B7、B9 です。これを集約一覧の2行目から順番に各行に各エクセルブックの抽出データをB1をA列、B3をB列、B7をC列、B9をD列に表示させできることならE列に各ブックへのハイパーリンクを自動で貼るマクロを作りたいと思っています。 更に今後、集約一覧をフォルダごと移動することも考えて絶対パスを自動で取得できるようにもしたいです。 初心者の為、いろいろエクセルのガイドブックやいろんなサイトの似たような質問をたどってみましたがよく理解できず困っています。どなたかご教示いただけませんでしょうか?

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

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

  • 振り分けて、別ブックの 「 同レコードの番号 」 に貼り付けるには?

    「 ブック1 」 の3つ ( 変動あり ) の集合 ( 上から空白セルを挟んで、集合1、集合2、集合3 ) を 「 ブック2 」 へ  集合1 → B列    集合2 → C列    集合3 → D列 と、 「 同レコードの番号 」 に貼り付けるには、どのようなコードになりますでしょうか? (空白セルを入れたほうが、作業しやすいと私自身が思って、挿入しました。 また、2つのブックのA列の数字の最大値は 12 です。) 難しくて困っております。 何卒、ご教授願います。 ------------------------ 【ブック1】 A     B     C     D    ・     ・    ・     ・   8   ああ   7   ああ 4   ああ 3   ああ 1   ああ 12  ああ 11  ああ 4   ああ 2   ああ 10  ああ 9   ああ 8   ああ 6   ああ 5   ああ  ---- 【ブック2】 A    B    C    D     E・・・  1   ああ 2         ああ 3   ああ   4   ああ  ああ     5              ああ     6              ああ    7   ああ      8   ああ         ああ  9              ああ 10             ああ 11        ああ  12        ああ

  • エクセルのデータ抽出

    会社で注文のあった業者のリストをエクセルで 作ってて450行くらいあります。 各項目には会社名や内容や価格などありますが その中には空白のセルや行もあります。 そこからA列に自分が抽出したい行に印をいれて フィルタをかけたところ、空白があるためか すべてを抽出できません。1行1行抜き出すのもいいのですが 今後、データも増えることを考えると 何かいい方法で抽出したいのですが、 どうしたらいいでしょうか? やはりマクロをつかうのでしょうか? すみませんがよろしくお願いいたします。

    • ベストアンサー
    • Mac
  • Excel2010 フィルタで抽出できない

    Excel2010(WindowsXP)のフィルタ機能で抽出できない場合があるようなのですが そういうものでしょうか? 以下のような10000行以上の重複しない14桁のデータで 10000行目の前後に空白セルがある場合 フィルタでB列の「10000000010003」以降のデータが抽出できません。 左からA列、B列 a b 1 (空白セル) 2 10000000000002 3 10000000000003 4 10000000000004 5 10000000000005 (この間も連続データ) 9997 10000000009997 9998 10000000009998 9999 10000000009999 10000 10000000010000 10001 10000000010001 10002 10000000010002 10003 10000000010003 10004 10000000010004 10005 10000000010005 10006 10000000010006 10007 (空白セル) 10008 10000000010008 10009 10000000010009 10010 10000000010010 ---

  • Excel 同ブックの他シートを参照するセルを、他ブックのセルにコピー

    こんにちは。Excelの使い方について質問させていただきます。 よろしくお願いします。 Excel2003を使っています。 シート数、シート名がまったく同じブックが2つあります。 AブックのAシートのA1セルを参照しているセルである AブックのBシートのA1セルをコピーします。 BブックのBシートのA1セルにペーストします。 BブックのAシートのA1セルを参照して欲しいのですが、 別ブックであるAブックのAシートのA1セルを参照するように 自動的に変換されてしまいます。 シンプルにそのままコピーすることは不可能でしょうか。 セルのコピーでは無く、中の文字列を選択してコピーしても、 何が起こっているのかよくわかりませんが上手くいきません。 Excel初心者です。マクロはまったく使えません。 親切な方、どうぞよろしくお願いします。

専門家に質問してみよう