Excelのテーブル(表)内の各項目の値をそれぞれ指定して検索したいと思ったことはないでしょうか。
その際には、エクセルで管理したデータを検索するときにエクセル機能の「検索」を何度も実行して、対象のデータがある行を確認しては、再度検索、検索、検索…というように非常に手間がかかる作業をしている方も多くいらっしゃるのではないでしょうか。
そんな場面で無駄な作業が効率化できる、一度の実行で対象のデータがある行が検索できる『テーブル内のデータを項目毎に検索して表示するマクロツール』をExcel VBAで作りました。
なお、当ツールは検索対象は表でもテーブルでも動作します。
当記事にはマクロの元になるExcelファイルがダウンロード可能で、VBAのコードも記事内に記載がありますので、Excel VBAやマクロが良く分からないという方でもすぐに使用できます。
当ツールを使用すれば定例業務の業務効率化が図れるかと思いますので、是非ご活用頂けたらと思います。
また、このツールのように各項目毎に検索条件を設定して検索するのでなく、複数項目に対して一つの検索条件で検索したい場合は、以下のツールを使用してみてください。
検索した値の関連するデータも表示させたい場合は、以下のツールを使用してみてください。
『テーブル内のデータを項目毎に検索して表示するマクロ』の概要
エクセルの表を作成し、その中に日々業務で使用したデータを入れ込んでいきます。
そのデータが蓄積された際に、各項目を対象とした検索ワードを入れて、検索を実行すれば対象セルのみが赤く表示され、検索対象が一度で容易に確認できるようになります。
基本的な機能、操作方法の説明
- 実行するマクロが入ったExcelファイル(当ツールのマクロ付き)を開きます。
- 対象の表内に検索したいデータを入れた状態にします。(※この表を対象にして検索をします)
- 各項目を対象にした検索ワード(7行目のセル)にそれぞれ検索したい文字を入力します。
- 「検索」アイコンをクリックします。
入力した検索ワードに一致する値があるセルが赤色で表示され、対象の行のみ表示されます。
オプションとして、検索する際の条件を指定でき、検索結果の違いは以下になります。
<各項目の検索>
複数項目を入力した際の検索条件を下記の二つから指定できます。
(※複数の項目に値が入力された場合にAND条件またはOR条件で表示されます)
- AND条件:入力した各項目の検索ワードが全て当てはまる行を検索して表示します。
- OR条件:入力した各項目の検索ワードが一つでも当てはまる行を検索して表示します。
<セル内の検索条件>
一つの項目内の検索条件を以下の二つから指定します。
- 完全一致:それぞれの項目に入力した値が全て一致する行を検索して表示します。
- 部分一致:それぞれの項目に入力した値の一部が一致する行を検索して表示します。
留意事項
検索ワード内のワイルドカード等は使用できません
検索ワード内に空白やワイルドカードの対応していませんので、その場合は、オプションにある「各項目の検索」を『部分一致』にして検索してください。
表の項目の列数を変更する場合
現行のツールでは表の列が「J列」までで作成されていますが、項目数を増減する場合は、以下の対応をしてください。
項目を増やす場合(例:K、L列を増やす)
- 作業列である「K列」を再表示してください。
- 検索ワード(7行目)を増やす列にコピーで作成してください。
- 表の項目とデータ(10行目、11行目以降)に値を入力して下さい。
項目を減らす場合(例:H、I列を減らす)
- 使用しない検索ワード(7行目)に斜線を引いてください。(※実施しなくても動作しますが、混乱を防ぐため行います。)
- 表の対象部分を選択して、削除してください。(右クリック→「削除」→「左方向へシフト」を選択して下さい。)
使用する際の事前準備
このページの下部にある「Excelファイルのツール」からExcelファイルを取得し、「準備の手順」内にあるVBAコードを取得したExcelファイルに記載して保存すれば、すぐに当ツールを使用できます。
以下にその手順を説明していきます。
準備の手順
「当ツールのダウンロードはこちら」からサンプル(Excelファイル)をダウンロードします。
※インターネットにあるマクロファイルをダウンロードすることはセキュリティ上リスクがあるので、設定画面(設定シート)が入っているマクロ無しExcelファイルを公開しています
<手順1>
ダウンロードしたExcelファイルを開いて、VBE(Visual Basic Editor)を起動させます。
- Excelファイルの上部にあるリボンの「開発」タブを選択します。
- 「Visual Basic」をクリックして、VBE(Visual Basic Editor)を起動させます。
リボンに「開発」タブが表示されていない場合は、「Excel VBAを始める前に、最初にやっておくべき初期設定内容の『開発』タブを表示させる」を参照ください。
<手順2>
- 「Microsoft Excel Object」を右クリックします。
- 「挿入」を選択します。
- 「標準モジュール」をクリックします。
<手順3>
- 「Module1」をダブルクリックします。
- 表示されている右側の欄(エディター)に以下のVBAコードを記載します。
VBAのソースコードはこちら
以下のVBAコードをコピーして、「Module1」内のエディターに貼り付けます。
<手順4>
マクロを含んだExcelとして、ファイルを保存します。
- 左上にある「保存」アイコンをクリックします。
- 「ファイルの種類」から「Excelマクロ有効ブック」を選択します。
- 「保存」をクリックします。
<手順5>
Excelファイル内にある「検索」ボタンと「フィルター解除」ボタンに対して、それぞれマクロを設定します。
- 「検索」アイコンを右クリックします。
- 「マクロの登録」をクリックします。
- 「検索_Click」を選択します。
- 「OK」をクリックします。
「フィルター解除」ボタンには「フィルター解除_Click」を指定して、「OK」を押します。
- 「フィルター解除」アイコンを右クリックします。
- 「マクロの登録」をクリックします。
- 「フィルター解除_Click」を選択します。
- 「OK」をクリックします。
各ボタンに対して正常にマクロが登録できた場合は、各アイコンの上にカーソルを当てて、指の形になっていることを確認します。
これで事前準備は完了です。
あとは「基本的な機能、操作方法の説明」で記載された方法でツールを実行できます。
なお、当マクロの開発環境は、OS:Windows10 、Excelソフトウェア:Microsoft Office 365となっており、当環境では動作確認ができていますが、他の環境で正常に動作するかは確認できていません。
正常に動作しない場合は、コメントいただければ幸いです。
また以下にて、このような業務効率化できるツールを機能ごとの一覧でまとめてますので、ご興味のある方はご覧ください。
自力で業務効率化できるツール等を作成する場合は、「オンラインITスクール」を利用するとモチベーションを保ちつつ、効率的に学習とアウトプットができると思います。
上記の「侍テラコヤ」は月額2,980円~ という日本最安級の料金でプログラミング学習ができ、今なら初めての方でも安心できる「1か月全額返金保証」があります。
自分に合わないと感じた場合は返金してもらえるため、ノーリスクで試すことができます。是非一度体験してみることをオススメします ^ ^
ツールのダウンロードはこちら
下記よりExcelファイルをダウンロードして、記事の途中にありました VBAのソースコードをツール内に組み込んで使用してください。
【Excel VBA】テーブル内の各項目データ検索ツール
※インターネットにあるマクロファイルをダウンロードすることはセキュリティ上リスクがあるので、マクロ無しExcelファイルを公開しています
他に要望等ありましたら、可能な限り改修等を対応しますのでコメント頂ければと思います。
<このツールが『結構使える!』と思ったら、下のグッドボタンを押していただけたら幸いです>
記載されている通りに設定をしても、検索実行すると
検索対象が見つかりませんでした。
となります。
オフィス2021を使用しています。
他のエクセル検索マクロは設定通り使えば使用出来ました。