- 締切済み
エクセル オートフィルタの抽出条件をデフォルト設定したい
エクセルで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」となっています。 この文のどこかを書き換えることなどで対応できないでしょうか? または、他によい方法があれば教えてください。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
メニューやダイアログ上の操作自体を制御するのはVBAでは難しいと思います。 適当なセルを「検索窓」にして、そのセルの内容が変更されたときに、 「*セルの値*」を条件に抽出するようマクロを組めばよいのでは?
- x0000x
- ベストアンサー率52% (67/127)
こんにちは。 >「Selection.AutoFilter Field:=1, Criteria1:="=**", Operator:=xlAnd」となっています。 上記の「Criteria1:="=**" 」で"*"と"*"で挟むことが"含む"の意味です。 "aaa"を含むは"=*aaa*" となります。 "*"は「任意の文字列に一致する」と意味です。
補足
マクロの中身については、ご回答くださった内容で理解することが出来ました。「aaa」を様々なキーワードに置き換えれば、マクロが組めることは理解しました。 しかし、検索するキーワードは毎回異なるので、そのすべてのマクロを用意しておくことは出来ないのです。 オートフィルタオプションウインドウを開くと「を含む」があらかじめ選択された状態を作り出すために、どうした良いかを教えて頂きたいと思います。