• 締切済み

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列に登場したテキストをデータとしてリストしておき、 「データの入力規則」でリストから選択できるようにしようと考えています。 説明が下手でうまく伝わらないかも知れませんが、うまいやり方があれば どうかご教示下さい。 宜しくお願い致します。

みんなの回答

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

シート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セルに取り付けた入力規則のリストから選択すると、勝手に該当のデータをコピーしてくる。

unsyrahole
質問者

お礼

随分古い質問ですが、ご回答のコードで理想通りに動きました! ありがとうございました!

関連するQ&A

専門家に質問してみよう