• 締切済み

エクセルマクロを使ってデータを抽出する方法について

エクセルマクロの操作方法についての質問です。 以下のようなデータがあったとき、ID100のデータのみを抽出して、別のブックにコピーするにはどのようにすればよいでしょうか。 また、A列にあるほかのIDすべてについても同様にファイルを作成したいのですが、効率よい作成方法をご存知の方がいらっしゃればご教示いただけたら幸いです。 よろしくお願い致します。 A列(ID)   B列    C列 100  2007/9/26    A 100  2007/9/27   B 101  2007/9/27   S 101  2007/9/26   S 102  2007/9/27   B 102  2007/9/25   B :    :      : :    :      :

みんなの回答

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.2

似たような要望は過去に何度も出ています。 こちらの#4が以前書いたものです。 オートフィルタを使うので1行目はタイトル行という想定です。 http://okwave.jp/qa3291205.html 参考に。

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

>をご存知の方がいらっしゃればご教示いた 1部の経験者しかわからない課題であるという、そういう種類の課題ではなく、VBAによる検索そのもの+アルファです。 ーー (1)全行を初めから最下行まで、A列の中身を判別(IF)して TRUEなら別シートに書く。 前もって「A列の内容でユニークな」ID表が必要。実行時間も早くないかも。 (2)Find、FindNextメソッドを使って目指すIDを探す。前もって「A列の内容でユニークな」ID表が必要。Find、 Findなどは、実例をWEBで照会すること。 (3)A列でソートをかけて、A列でIDか変わらない間の行はあるシートに転記する。A列の内容でユニークなID表は用意しなくてもよい。 ーー スピードやロジックの易しさから私は(3)が好きですが。 ーー 以上何を言っているか判らなければ、この課題にVBAでやるのは、ちと早いということ。 (1)(3)の方法は、マクロの記録の応用はは無理かも知れないが (2)は近いところまで、作ってくれるかも知れないと思う。

geregere21
質問者

お礼

早速の回答ありがとうございました。 教えていただいた方法を試してみます。

関連するQ&A

  • -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 といった感じです。どなたかお知恵をお貸しください。よろしくお願いいたします。

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

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

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

    教えて下さい 複数のエクセルブックがあります(全て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とかあります ちなみに現状はファイルを一つ一つ開き、指定日付を検索し見つけだし その行をコピーペーストしています たくさんブックがあるので、これをしていると目がチカチカしてきてしまいます この作業がマクロでできると、すごく感激なのですが・・・ どなたか、お知恵・お力をおかしくださいませ

  • エクセルマクロで空欄と空欄の間のデータを取得する

    添付画像のようなデータが並んだエクセルシートがあります。(ブックA) ブックAsheet1のA列に数値が入っている行のB列~D列のデータを別のブックBから取得したいのです。 ブックBにsheet1~sheet20まであります。 ブックAsheet1のA列に数値が入っている行のB列~D列のデータを1セットとして、ブックBのsheet1のB1にコピーする。 次のグループをブックBのsheet2のB1にコピーする、 また次のグループをブックBのsheet3のB1にコピーする。 ブックBには書式設定してあるので、値のみコピーします。 ブックAのB列~D列の数値の配置はそのままでコピーします。 この作業をブックBからマクロで行う方法を教えて下さい。 宜しくお願いします。

  • エクセルのマクロを知りたい

    エクセルで,たくさんのデータが入力された【シートa】があります。 新しく【シートb】を作成して,そこに空白の表(1)~(10)までを作成します。 (ちなみに表(1)は1行から始まり100行まで,表(2)は101行から始まり200行まで・・・・といった感じです) 【シートb】の表(1)には,【シートa】でA列に「1」が入力されているデータを抽出して,それをB列の昇順に並べて記入しなさい。同様に,表(2)には,【シートa】でA列に「2」が入力されているデータを抽出して,それをB列の昇順に並べて記入しなさい。・・・というのを表(10)まで続けます。 上記のような命令をボタン一つで操作できるようなマクロを教えて欲しいのです。 お願いします。

  • Excelのオートフィルタでデータ抽出するマクロについて

    オートフィルタで指定した期間のデータ抽出のマクロを作成しているのですが上手くいきません。 例えばA列に 10月29日 11月1日 11月3日 11月5日 と日付を入力しており、B列、C列にデータを入力していたとして D列1行目に10月31日、D列2行目に11月4日と入力し D列1行目からD列2行目までと指定したデータを抽出するマクロを教えていただけませんか。 マクロ初心者で、困っております。どうかよろしく御願いします。

  • エクセル 抽出マクロについて

    はじめまして。マクロ初心者です。 エクセルで抽出結果を別シートにコピーしたいのですが、 抽出条件が2列にわたっています。 A     B      C      D 日付   タイトル   分類(あ)  分類(い) 11/22   テレビ    3      2 12/15   ラジオ    1      4 11/18   雑誌     2      5 …というような感じです。 例えば分類が「2」のものを抽出したい時に、 ●シート1のあるセルに「2」と入力してマクロを実行。  ↓ ●シート2に以下のように結果をコピーして表示。 A       B 日付     タイトル 11/22     テレビ 11/18     雑誌 という具合にしたいのです。(C列、D列は表示しない) データはシート3に入力されていて、今後どんどん増えていく予定です。 エクセルは2007です。 本やホームページを参考に試行錯誤したのですが、うまくいきません…。 どなたかご回答よろしくお願いいたします。  

  • エクセル データ抽出と合計の方法がありますか。

    エクセル データ抽出と合計の方法がありますか。 下記のようなデータがあるとします。 A列  B列 10  111 20  222 30  111 40  111 50  333 結果を D列  E列 111  80 222  20 333  50 としたいです。 つまりB列から存在する数字列を抽出し、それに該当するA列の合計を出したい。 D列へB列に存在する数字列を手入力し、 E列へ =SUMIF(B:B,D1,A:A) と入れておいて表示されるところまでしたのですが、 「D列へB列に存在する数字列を手入力」を手入力ではなく関数で抽出してくることは可能でしょうか。 何卒ご教示いただけますようお願いします!!!

  • 【エクセル】無作為抽出

    アンケート調査のために無作為抽出をします。 A列に氏名 B列に住所 が 1万件 ほど入力されています。 そこから300件を抽出したいと思います。 それを 別ブック・別シート もしくは 同シートのC列・D列 にそれぞれ抽出した氏名や住所を表示させるにはどのように したらいいのでしょうか。 なるべくマクロ等は使用したくないのですがご教示くだされば 幸いです。どうぞよろしくお願いいたします。 *追伸  =RAND() を使用してオートフィルする方法は理解しています。  A列(氏名)だけを抽出する方法はわかるのですが、それに付随  するB列(住所)を同時に抜き出す方法がないのか困っています。  

  • Excelでの複数データ抽出方法

    Excelで関数を使用して以下のようなデータから 複数のデータ抽出を行いたいのですが可能でしょうか? <sheet1> A列 B列 C列 D列     E列 123456 11 12 13    13 123457 12 13 14    13、14 123158 13 14 15    13,14 123159 14 15 16    14  123160 15 16 17 ※抽出するデータは「13・14」になり、抽出場所は別シートでもかまいません。 過去の質問など参照してみましたがうまく出来ませんでした。 複数の関数を組み合わせでもかまいませんので、お手数おかけしますが よい方法が有ればご教示お願いします。

専門家に質問してみよう