• 締切済み

エクセル オートフィルタの抽出条件をデフォルト設定したい

エクセルでQ&Aを作成しています。 A列にQuestion B列にAnswer を入力してだけのシンプルな物です。 それぞれの列にオートフィルタをかけ、任意のキーワードを含むQ&Aだけを抽出できるようにしてあります。 実際の作業手順としては、下記の通りです。  1.オートフィルタの▼ボタンをクリック  2.「オプション」をクリック  3.任意のキーワードを入力  4.キーワードの右側のドロップダウンメニューで「を含む」を選択  5.「OK」ボタンをクリック この手順の「4」の部分をデフォルトで設定しておくようにはできないでしょうか? (オートフィルタオプションウインドウを開くと「を含む」があらかじめ選択された状態になっている) この手順1.2.4までをマクロで記録して、マクロ実行ボタンをクリックすれば、オートフィルタオプションのウインドウが開いて任意のキーワードを入力する仕組みを作りたいと思っています。 しかし、オートフィルタオプションのウインドウを開いた状態のまま、マクロの記録を停止することができず、思い通りになりません。 自動的に記録されたマクロを見てみると 「Selection.AutoFilter Field:=1, Criteria1:="=**", Operator:=xlAnd」となっています。 この文のどこかを書き換えることなどで対応できないでしょうか? または、他によい方法があれば教えてください。 よろしくお願いします。

みんなの回答

noname#52504
noname#52504
回答No.2

メニューやダイアログ上の操作自体を制御するのはVBAでは難しいと思います。 適当なセルを「検索窓」にして、そのセルの内容が変更されたときに、 「*セルの値*」を条件に抽出するようマクロを組めばよいのでは?

  • x0000x
  • ベストアンサー率52% (67/127)
回答No.1

こんにちは。 >「Selection.AutoFilter Field:=1, Criteria1:="=**", Operator:=xlAnd」となっています。 上記の「Criteria1:="=**" 」で"*"と"*"で挟むことが"含む"の意味です。 "aaa"を含むは"=*aaa*" となります。 "*"は「任意の文字列に一致する」と意味です。

00112233
質問者

補足

マクロの中身については、ご回答くださった内容で理解することが出来ました。「aaa」を様々なキーワードに置き換えれば、マクロが組めることは理解しました。 しかし、検索するキーワードは毎回異なるので、そのすべてのマクロを用意しておくことは出来ないのです。 オートフィルタオプションウインドウを開くと「を含む」があらかじめ選択された状態を作り出すために、どうした良いかを教えて頂きたいと思います。