プロが教えるわが家の防犯対策術!

シート1にあるデータから3個のキーワードで抽出したデータを切り取り、シート2に貼り付ける方法を教えてください。

 今までは抽出する条件のキーワードが2個以下だったので、オートフィルタのオプションで抽出したデータをコピーしてシート2に貼り付け、シート1で可視セルを選択して削除という方法をとっていました。

 今回、条件にするキーワードが3個になったので、フィルタオプションの設定で、シート2のA1からA4にキーワードを入れて、検索条件範囲を指定してデータを抽出したので、今までの方法が使えなくなってしまいました。

参考までに、↓こんな感じです。

Sheets("Sheet2").Select
Range("A1") = "条件"
Range("A2") = "キーワード1"
Range("A3") = "キーワード2"
Range("A4") = "キーワード3"
Sheets("Sheet1").Cells.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
Range("A1:A4"), CopyToRange:=Range("A6"), Unique:=False

A 回答 (2件)

対象データを移動させたいってことでしょう


案1
抽出先を 選択範囲内
(Action:=xlFilterInPlace)

案2
条件条件条件
<>キーワード1<>キーワード2<>キーワード3
として(AND検索)作業用シートにでもいったん抽出するとか?

この回答への補足

ご回答ありがとうございます。
そうです!移動させたいということです。
下手な説明をくみ取っていただいてありがとうございます。
なるほど!選択範囲内にするといいのだと、
Action:=xlFilterInPlace
に替えたら、その部分に関してはうまくいったのですが、
なぜか、
そのあとの、シート1の可視セルをコピーしてシート2に貼り付け、
シート1の可視セルを削除という部分がうまくいかなくなってしまいました。
このやり方だとダメなのでしょうか。

案2についてはよくわかりませんでした(>_<)
すみません!

補足日時:2008/12/05 15:12
    • good
    • 0

Excel(エクセル) VBA入門:フィルタオプション(AdvancedFilter)でのデータ抽出


http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/v …

抽出する条件として、
・抽出する項目
・その項目に対しての抽出する条件
が必要になると思うのですが。。。。

提示されたコードでは参考にならないかと。
何を基にどうしたいのか、レイアウトを提示された方がいいかもしれません。

この回答への補足

ご回答ありがとうございます。
説明が悪くて申し訳ありませんっ。

7列目にある項目「担当者氏名」に対して、
山田さん、佐藤さん、鈴木さんの3人分のデータすべてを
別のシートに移動するという作業です。
これでわかりますでしょうか…。

ご紹介いただいたページ、わかりやすくて
いつも参考にさせていただいています。
その都度、ごまかしごまかし作業しているので
応用できずにいますが…。

どうぞよろしくお願いいたします。

補足日時:2008/12/05 14:17
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!