2023年10月16日【ID:0】
メンバー限定
【ExcelVBA】瞬時にフィルターで絞り込み
以下のような表に関して、対象のデータを探す際に、フィルターボタンから絞り込みをするとします。

この絞り込み作業が毎回発生する場合、フィルターのメニューから絞り込み条件を毎回設定するのは大変に感じることがあります。
こちらでは、データを絞り混む際に、フィルターのメニューを操作せずに、瞬時に絞り込む機能の開発方法について解説していきます。
具体的には、対象の項目の上の空白セルに、検索したい文字を入力することで、その文字が含まれるデータのみを瞬時に絞り混むという機能になります。
以下の画像がイメージになります。

※こちらで開発するファイルは、記事の最後にて配布しております。
こちらでは、項目[ふりがな]を絞り込むための機能を開発する方法について解説していきます。
全項目に対応した機能を開発する場合は、以下のコンテンツをご確認ください。
開発準備
まず初めに、[開発]タブの中の[Visual Basic]を選択します。

次に[プロジェクト]から対象のシートモジュールを開きます。

※[プロジェクト]が表示されていない場合は、[表示]タブから表示することができます。

開いたシートモジュールのエディターの上に[General]と書かれたリストがあります。
こちらから[Worksheet]を選択します。

選択すると、隣のリストの[Declarations]が[SelectionChange]に切り替わり、「Private Sub Worksheet_SeletionChange」というプロシージャが表示されます。
今回は、こちらを使用せず「Worksheet_Change」というプロシージャを使用するため、隣のリストから[Change]を選択します。

選択することで、「Worksheet_Change」というプロシージャが表示されます。
「Worksheet_SelectionChange」のプロシージャに関しては、今回は使用しないため、削除しても問題ないです。
コードの記述
次に「Worksheet_Change」のプロシージャ内に以下のように記述します。

このコードの意味を説明します。
続きはIT予備メンバー限定です。
メンバー限定コンテンツになります。

IT予備メンバーページと連携することで内容を確認することができます。
メンバーとは
すでにメンバーの方は、
ログインして連携してから、こちらを更新すると閲覧できます。
※連携しても確認ができない場合は、少し時間を置いてご確認ください。
ログイン(新しいタブ)
※[ログイン]→[設定]→[IT予備-連携]で連携できます