シートに作ったコンボ・ボックスとオートフィルタの連動



コンボ・ボックスで表示したい項目を選択する。→ 一覧表にオートフィルタがセットされ、選択したものが表示。


●●●一覧表の準備@:メインのシート●●●

「表示」→「ツールバー」→「フォーム」でフォームのダイアログを表示させ、 「コンボ・ボックス」をクリックし、ドラッグ&ドロップ(ずりずり)で コンボ・ボックス」を作成する。

シートコンボボックス


●●●一覧表の準備A:コンボ・ボックスにリンクさせる、マスター・シート●●●

別のシートに、コンボ・ボックスとリンクさせる内容を作成し、シート名を 「マスター」とします。

マスターシート
   :コンボ・ボックスに表示させる項目一覧
   :選択した項目が返るセル
   :選択した項目
は、番号で返るので、それを名前にする関数を入力するセルの3つを作成します。


●●●一覧表の準備B:コンボ・ボックスにリンク先をセットする●●●

作成したコンボ・ボックスを右クリックし、 「コントロールの書式設定」を選択すると、左のようなダイアログが開きます。

コンボ・ボックス


●●●下準備出来あがり:こんな感じになります●●●

コンボ・ボックスで色々選択して見てください。
ちゃんと、マスターシートには、選択した番号・名前が表示されていますか?
コンボ・ボックス完成

【マクロ】オートフィルタと連動させます

下記のマクロを、コンボ・ボックスに登録します。
(作成したコンボ・ボックスを右クリックし、 「マクロの登録」でこのマクロ名を選択し登録します)
すると、コンボ・ボックスを動かすと、下記のマクロが実行されます。

マクロ



■こんな感じになります■

完成!

【考え方】

  @ コンボ・ボックスで選択したものは、番号で返るのでINDEX関数で文字に変換しておく。
      (マクロではなく。「一覧表の準備A」参照)
  A (ここからマクロ)その変換した文字を変数に格納
  B もし、空白を選択してしまったら、マクロから抜ける
  C オートフィルタのセットは、既にセットされていたら一旦解除し再度セット
  D 変数に格納した文字をキーにして、オートフィルタで抽出する。