- 締切済み
excel vba データリストからの抽出
excel vbaで、以下のような事をしたいと思っています。 【sheet1】データ A B C D E 1 あ い う え お 2 か き く け こ 3 あ き く せ そ 4 さ し す せ そ 5 あ し す け こ 【sheet2】検索 A1を検索条件セルにする ※検索キーはsheet1のA列に登場するテキストのみです。 A B C D E 1 あ い う え お 2 き く せ そ 3 し す け こ 4 5 ※A2、A3に"あ"と表示されてしまってもよいのですが、 出来れば表示なしが望ましいです。 sheet2のA1は、sheet3に、sheet1のA列に登場したテキストをデータとしてリストしておき、 「データの入力規則」でリストから選択できるようにしようと考えています。 説明が下手でうまく伝わらないかも知れませんが、うまいやり方があれば どうかご教示下さい。 宜しくお願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- keithin
- ベストアンサー率66% (5278/7941)
シート2のシート名タブを右クリックしてコードの表示を選ぶ 現れたシートに下記をコピー貼り付ける private sub Worksheet_Change(byval Target as excel.range) if target.address <> "$A$1" then exit sub if target = "" then exit sub application.enableevents = false range("B:E").clearcontents with worksheets("Sheet1") .autofiltermode = false .range("1:1").insert .range("A:A").autofilter field:=1, criteria1:=target.value .range("B2:E65536").copy destination:=range("B1") .autofiltermode = false .range("1:1").delete shift:=xlshiftup end with application.enableevents = true end sub ファイルメニューから終了してエクセルに戻る A1セルに取り付けた入力規則のリストから選択すると、勝手に該当のデータをコピーしてくる。
お礼
随分古い質問ですが、ご回答のコードで理想通りに動きました! ありがとうございました!