• ベストアンサー

Excelである条件のものだけ抽出しtxtで保存したい

excel2002である条件のものだけを抽出し、抽出したものだけを テキストファイルとして保存をかけたいのですが、一番手のかか らない(オートフィルタで抽出後、カット&ペーストでする方法 でないほうが良いのですが)方法をおしえてください。 ex) A列で30以下のデータのみ抽出 A B 10 あ       10あ 50 お       20い 20 い    →  30う 40 え       ****** 30 う       抽出後のデータ。 *********** 抽出前のデータ よろしくお願いします。

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

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

テストデータとしてA1からB7に下記データを入れました。 ------- 10 a 30 s 40 d 50 f 20 g 60 h 70 j ------ そしてVBEのModule1に下記を入れました。 Sub Module1() Worksheets("sheet1").Range("a1:b7").AutoFilter  Field:=1, Criteria1:="<30" Worksheets("sheet1").Range("a1:b7").Copy Range("a10").Select ActiveSheet.Paste End Sub 実行するとA10:B11に 10 a 20 g と表示されます。 操作では「オートフィルタ」-▼をクリック-「オプション」-左のボックスで30を選び-右のボックスで「より 小さい」を選ぶことに該当します。 AdvancedFilterというのもあります。 本で調べて見られては。

enako
質問者

お礼

お礼が遅くなってすみません。 VBAまったくの初心者ですが、 参考にさせていただきます。

その他の回答 (2)

  • masanao
  • ベストアンサー率31% (9/29)
回答No.2

またまた、解答申し上げます。。ex)の方をよく見てませんでした。 30以下のものだけ抽出みたいなかんじでしたら、オートフィルタで十分です。 オートフィルタの下矢印をクリックすると「オプション」があるのでそれで「30以下」と設定するだけです。 テキストとして保存するのは先程のやり方だとできません(勘違いしてました・・)。やはりコピー&ペースがいいと思います。もし範囲が広くてやりにくい場合は、選択したい一番はじの上を選択して「control+shift+enter」で全部選べるはずです。もし間違ってたらすみません。

enako
質問者

お礼

回答ありがとうございます。 やはり、コピー&ペーストがベターなんですね。 どうもありがとうございました。

  • masanao
  • ベストアンサー率31% (9/29)
回答No.1

「フィルタオプション」という機能があります。 1)抽出したい元データの一番上に「抽出したい条件分+3~4行」の行を挿入する。 2)挿入した1行目に項目行をコピー&ペーストする 3)抽出したい条件を該当項目の下に1列に入力する。 例えば・・「個数」の項目がA1のセルだとすると、10、20、30、40個のものだけを抽出するという条件だとして10、20、30、40をA2~A5にいれていくということです。 4)どこでもいいので、元データのひとつのセルを選択する。 5)ツールバーより「データ」→「フィルタ」→「フィ ルタプション」を選ぶ。 6)すると自動的に検索したい元データを範囲選択してくれます。もし、間違った範囲だったら選択したい範囲をドラッグで選択し直してください。 7)検索条件範囲に抽出条件の範囲を選択します。3)の例だとすると、A1~A5を選択します(項目も忘れずに選択)。 8)OKする。 これで、抽出できます。 この状態で、「別名で保存」してファイル形式をテキストを選んで保存すればOKです。 これは、元のデータを加工してないので、「データ」→「フィルタ」→「すべて表示」で元に戻ります。 もし、抽出条件が2つだけならオートフィルタで 矢印をプルダウンするとオプションというのがあるので「or」で抽出することもできます。 つたない説明ですみません。お役にたてれば幸いです。

関連するQ&A