VBA・マクロツール

表内のデータを簡単に検索するツール(Microsoft Excel)

 

本記事では、最も有名でかつ使用頻度が高い表計算ソフトの「Microoft Excel」で使用できる『表内のデータを簡単に検索するマクロ』ツールの概要・使い方・取得方法等を紹介しております。

 

ツールの更新履歴

(2022年5月13日:更新) 

・検索実行時に検索対象の文字が存在しない場合は、検索対象がない旨のメッセージを表示させてフィルターしないように変更

・検索方法として「AND検索」「OR検索」を選択可能に変更

(2022年9月23日:更新) 

・検索条件(AND検索、OR検索)の対象を「一つのセル」「複数項目」から選択可能に変更

・ツール全体のUIを変更

(2022年11月25日:更新) 

・検索対象のデータが表でなくテーブルが使用されている場合でも動作するように改修

(2023年2月14日:更新) 

・検索を一度もしていない状態で、フィルター解除アイコンをクリックするとデバッグモードになる現象を改修

(2023年11月24日:更新) 

・ツール全体のUIを変更

・設定シート(settingシート)で項目を変更した際に対象項目のみ背景色が変更するように改修

『表内のデータ簡単検索ツール』の概要

 

本ツールは、Excel内にあります表、またはテーブルに対して指定した文字で検索すると、検索対象の文字が入った行のみが表示されるツールとなります。

 

本ツールでできること
  • 表、テーブル内の文字をフィルター検索のように一覧表示できます。
  • 検索文字に複数の文字を指定してAND検索またはOR検索ができます。
  • 検索したい項目を指定することや最大項目数を自由に設定して、検索できます。

通常は対象のファイルを一つずつ開いてExcelの標準機能の「検索」を実施してセル位置を一つずつ移動しなければいけない作業を、本ツールを使用すると一度で対象行を表示することができます。

※検索ワードを入れて検索処理を行えば対象行のみが表示され、該当セルが赤く表示されることで、検索が視覚的にも容易にできるようになります。

 

表内に多量のデータがあり、その中から何度も検索する必要がある場合等に有効にご活用いただけます。

 

下に説明動画を載せますので、ご確認ください。

本ツールの説明動画はこちら

 

本ツールの利用手順

本ツールを使用する手順は以下の通りになります。

Step1:表内に検索対象のデータを入れる

  1. 表内データ簡単検索ツールのVBAコードを含んだExcelファイル(***.xlms)を開きます。
  2. 対象の表内に検索対象とするデータを入れ込んだ状態にします。

この時、表は範囲でもテーブルでもどちらでも問題ありません。

 

Step2:検索文字を入力して、検索アイコンをクリックする

  1. 「検索ワード」の欄に検索したい文字を入力ます。
  2.  「検索アイコン」(虫眼鏡アイコン)をクリックします。

 

検索ワードの内容で、一部分でも一致するセルがあれば、対象のセルが赤色で表示され対象の行のみ表示されます

 

 

Step3:解除アイコンをクリックする(※検索解除時)

検索ワード欄の右にある「フィルター解除アイコン」をクリックすれば、検索状態は解除され全データが表示されます。(=初期状態に戻ります。)

  1. 「フィルター解除アイコン」をクリックします。

 

Option:検索ワードにスペースを入れて、検索条件と条件の対象を指定して検索

検索条件は「AND条件」と「OR条件」より、条件の対象は「一つのセル」と「複数項目」より選択できます。

 

検索条件:「AND条件」、条件の対象:「一つのセル」

例えば、「問合せ 3」で検索した場合は、一つのセル内で”問合せ” という文字が入っていて、かつ “3” という文字が入っているセルを検索します。

  1. 検索ワード欄に「問合せ 3」と入力します。
  2. 検索条件で「AND条件」を選択します。
  3. 条件の対象で「一つのセル」を選択します。
  4. 検索アイコンをクリックします。

 

検索結果として、両方の条件を満たす値が入っているセルが検索されて表示されます。

 

検索条件:「OR条件」、条件の対象:「一つのセル」

同様に「問合せ 3」で検索した場合は、一つのセル内で”問合せ” と “3” のどちらかの文字が入っているセルを検索します。

  1. 検索ワード欄に「問合せ 3」と入力します。
  2. 検索条件で「OR条件」を選択します。
  3. 条件の対象で「一つのセル」を選択します。
  4. 検索アイコンをクリックします。

 

検索結果として、どちらかの条件を満たす値が入っているセルが検索されて表示されます。

 

 

検索条件:「AND条件」、条件の対象:「複数項目」

同様に「問合せ 3」で検索した場合は、複数の項目で”問合せ” と “3” の両方の文字が入っているセルを検索します。

  1. 検索ワード欄に「問合せ 3」と入力します。
  2. 検索条件で「AND条件」を選択します。
  3. 条件の対象で「複数項目」を選択します。
  4. 検索アイコンをクリックします。

 

検索結果として、その行の複数項目をまたいで両方の条件を満たす値が入っているセルが検索されて表示されます。

 

検索条件:「OR条件」、条件の対象:「複数項目」

同様に「問合せ 3」で検索した場合は、複数の項目で”問合せ” と “3” の両方の文字が入っているセルを検索します。

  1. 検索ワード欄に「問合せ 3」と入力します。
  2. 検索条件で「OR条件」を選択します。
  3. 条件の対象で「複数項目」を選択します。
  4. 検索アイコンをクリックします。

 

検索結果として、その行の複数項目をまたいでどちらかの条件を満たす値が入っているセルが検索されて表示されます。

 

Setting1:検索対象項目を変更する場合

標準では、表内のタイトル行の色が濃紺になっている箇所(A,B,C,D,E,F,G,H,I,J 列)が検索対象として設定されていますが、<setting>シート内の値を変えれば、検索対象列を自由に変更することができます


別シートの<setting>シート内のB4セルの値を変更します。検索対象列をカンマ区切りにして値を設定すれば変更可能です。

なお、検索する項目から外れた項目は、背景色が薄青色に変更されます

 

Setting2:表の項目の列数を変更する場合

現行のツールでは表の列が「J列」までで作成されていますが、項目数を増減する場合は、以下の対応をしてください。

 

項目を減らす場合

  1. 不要な項目の列を選択して、右クリック→「削除」→「左方向にシフト」を選択します。(作業列が表示される場合がありますが、無視してください。)
  2. 必要に応じて、<setting>シート内の「検索する項目の列」を変更してください。

 

項目を増やす場合

  1. K列を再表示してください。
  2. 増やす分だけ、K列以降に表の項目とデータを記載してください。(J列部分をコピーして貼り付け等)
  3. 必要に応じて、<setting>シート内の「検索する項目の列」を変更してください。

 

ご利用に関するQ&A

本ツールはどのように取得できますか?

当記事内の「本ツールのダウンロードはこちら」よりマクロ付きExcelファイルがダウンロードができます。

※有料コンテンツの場合は、ご購入後にツールのダウンロード、VBAソースコードの確認ができます。

ツールの使い方等のサポートを受けることができますか?

当サイトでは早期対応の使い方サポートサービスを提供しておりますので、使用方法等が分からない場合でも安心してご利用いただけます。

簡易的な内容ですと、当記事のコメント欄よりお問い合わせください。またはサイト最上部にあります「お問い合わせフォーム」より不明点をお問い合わせください。

※早期対応は有料コンテンツをご利用いただいた方限定のサービスとなっております。

マクロの実行がブロックされてツールが使用できない場合はどうしたらいいですか?

本ツールは利用時の各環境の設定により、マクロの実行がブロックされる可能性があります。

マクロ実行の許可は(別記事:マクロのブロックを解除する方法)を参考に進めて下さい。

なお、上記を実施しても解除できない場合はマクロを含まないExcelファイルと必要なVBAソースコードを別途ご案内いたします。

返金をお願いしたい場合はどうしたらいいですか?

ご購入後の24時間以内なら返金可能です。

その際は、サイト最上部にあります「お問い合わせフォーム」よりご連絡ください。

※有料コンテンツのみ

 

ご利用上の注意事項

本ツールはMicrosoft Excelのマクロ機能を用いて、プログラミング言語「VBA」にて作成しております。ご利用に関しては、以下の注意事項をご確認ください。

 

  • 本ツールの開発環境は、OS:Windows10 、Excelのバージョン:Microsoft 2016、Microsoft Office 365となっており、当該環境では動作確認ができていますが、他の環境での動作は完全には確認できていません。
  • 本ツールは利用時に各環境の設定により、マクロの実行をブロックする可能性があります。マクロ実行の許可は(別記事:マクロのブロックを解除する方法)を参考に進めて下さい。
  • 本ツールの利用で発生した問題の責任は負いかねます。事前に使い方をテスト、理解した上で、ご利用ください。
  • 本ツールはバージョンアップに伴い、ツール自体の仕様が変更になる可能性やアップデートされる可能性がございます。予めご了承ください。
  • ツールおよびプログラムの著作は当サイトを管理しております「デジたわ」にあります。無断での転載・再販・配布・共有は固く禁止しております。

 

時短ツールの特徴と関連ツールを紹介

『時短ツールラボ』では本ツール以外にもExcelマクロを利用した時短ツールを複数ご用意しております。

今後も随時新規で開発、公開していきますので是非ご覧ください。

全ツールはこちら(時短ツールラボ)からご確認ください。

 

時短ツールラボのツールの特徴

 

商品は全て買い切り

 

販売されるExcelマクロのツールは全て月額料金が発生しない「買い切り型」となっています。ランニングコストの心配をせずにツールを使用いただけます。

 

無料ツールもご用意

 

初めての方でも安心してご利用いただけるように「無料」で使用できるツールも多数用意しております。ツールの使用感を確かめたうえでご購入いただけます。

 

使い方のサポートが無料

 

有料ツールをご利用いただいた方限定で早期対応の使い方サポートサービスをご用意しております。初めてExcelマクロツールをご利用される方も安心ください。

 

返金制度あり

 

ご購入いただいてから24時間以内にご返金の申請をした場合は、全額返金させていただく返金制度もご用意しておりますので、ご安心ください。

 

ソースコードを閲覧可能

 

ツールをご利用いただいた方限定でVBAソースコードをご確認いただけます。ご自身でマクロ開発、VBAプログラミング学習をされる際にご活用ください。

 

⑥ 自由にカスタマイズ可能

 

マクロを含んだExcelファイルとVBAソースコードはご自身で使いやすいようカスタマイズ可能です。(※Excelファイル、VBAソースコード等の商用利用は不可となります。)

大型アップデート版のダウンロードはこちら

表内のデータを簡単検索ツール(大型アップデート版)  290円

表内において指定した文字を検索して一覧で見たい場合、当マクロツールを使って効率化できます。また検索する際の条件や色変更等が簡単に変更できるようになっております。

表内のデータを簡単に検索するツール_大型アップデート版(Microsoft Excel) 本記事では、最も有名でかつ使用頻度が高い表計算ソフトの「Microoft Excel」で使用できる『表内のデータを簡単に検索する...

本ツールを使用する場合は、上記記事にて購入後にダウンロードしてください。

通常版と大型アップデート版の変更点は以下になります。

  1. 検索した際にセル単位でなく対象文字のみ文字色が変更されます。
  2. 大文字/小文字と全角/半角の区別を切り替えできます。
  3. 完全一致、部分一致での検索を切り替えできます。
  4. 検索ボタンを押さず、カーソルを外すもしくはEnterキーで検索できます。
  5. 検索対象の文字色を赤色だけでなく、数に応じて文字色を指定できます。

自力で業務効率化できるツール等を作成する場合は、オンラインITスクール」を利用するとモチベーションを保ちつつ、効率的に学習とアウトプットができると思います。

\ 今なら1か月間全額返金保証!! /

上記の「侍テラコヤ」月額2,980円~ という日本最安級の料金でプログラミング学習ができ、今なら初めての方でも安心できる「1か月全額返金保証」があります

自分に合わないと感じた場合は返金してもらえるため、ノーリスクで試すことができます。是非一度体験してみることをオススメします ^ ^

本ツールのダウンロードはこちら

本ツールのダウンロード、VBAソースコードの確認等をする場合は、下記をクリックしてダウンロードを行ってください

【Excel VBA】表内データ簡単検索ツール

ツールのダウンロードはこちら

※ダウンロードした本ツールを動作させることができない場合は、マクロのブロックを解除する方法より、
マクロ機能の動作が可能になるよう設定を変更してください。

正常に動作しない場合は、当記事のコメント欄または「お問い合わせフォーム」よりご連絡ください。

 

VBAソースコードはこちら

本ツール内にVBAソースコードは書き込まれておりますが、参考までに掲載いたします。

<「Module1」に書き込まれているVBAソースコードはこちら>

 

<「Sheet1」に書き込まれているVBAソースコードはこちら>

 

<「Sheet2」に書き込まれているVBAソースコードはこちら>

 

 

<本ツールが業務効率化や時短につながりましたら、下のグッドボタンを押していただけたら幸いです>

コメントはこちら

  1. より:

    作業列をKではない列に変更することは可能でしょうか。
    AQまでの列を使用したいと考えております。

    • RH より:

      管理人のRHです。
      ご返答が遅れまして、申し訳ありません。
      yさん、ツールのご使用とコメントありがとうございます。

      「AQ列」まで使用するとのことですので、作業列をその次の列である「AR列」にすると考えて、以下を修正頂ければと思います。

      ・5行目を「Private Const WorkCol = “AR”」に変更
      ・8行目を「Private Const WorkColRow = “AR5:AR”」に変更
      ・89行目を「sht.Range(“A4:AR4″).AutoFilter Field:=44, Criteria1:=”<>“」に変更

      上記で目的が実現できない場合は、再度ご連絡をお願いします。

      • より:

        ご返信いただきありがとうございます。
        3点の修正をしたところ、問題なくマクロが実行できました。
        とても有益な情報をありがとうございました。
        仕事で活用させていただきます。

        • RH より:

          管理人のRHです。

          問題なくマクロが実行でき、目的が達成されたようで良かったです。
          また何かありましたらコメント願います。

  2. より:

    こちらのマクロを使わせていただいているのですが、検索の際、「123AB/AA」とあった場合に検索で「123AA」と検索しても「123AB/AA」をヒットさせる方法はないでしょうか。コードなど教えて頂けると幸いです。

  3. より:

    再コメントです。こちらのマクロを使わせていただいているのですが、検索の際、「123AB/AA」とあった場合に検索で「123AA」と検索しても「123AB/AA」をヒットさせる方法はないでしょうか。コードなど教えて頂けると幸いです。

    • RH より:

      管理人のRHです。
      コメントいただきありがとうございます。
      返信が遅くなり、申し訳ありません。

      さ様が最終的に実現したいこととしては少し違っているかもしれませんが、
      今のコードですと、「123AB/AA」を見つけたい場合に「123 AA」(※間に空白)を入れるとand条件で検索されて検索した結果として表示されますが、それで解決しますでしょうか。

      >「123AB/AA」とあった場合に検索で「123AA」と検索しても「123AB/AA」をヒットさせる方法はないでしょうか。

  4. より:

    質問なのですが、検索を行う際に検索ワードが無かった場合最下層にある空欄のセルが(データが入っていないところのセル)最上部に出てくるのですが、そのあと検索しても該当がないのかと思いオートフィルター解除のボタンや検索のボタンを押してもエクセルがフリーズしてしまいエクセルを再起動しないといけない状態になります。
    検索のキーワードが該当ない場合、該当ありませんでリセットできるような状態にできませんでしょうか?

    • RH より:

      管理人のRHです。
      コメントいただきありがとうございます。

      検索を行った際に検索ワードが無かった場合、その後にオートフィルター解除のボタンや検索のボタンを押してもエクセルがフリーズしてしまうという現象は、当方の環境では確認できませんでした。

      そのため、当ツールを検索対象がない場合に、「該当ありません」という旨のメッセージを表示してフィルターしないよう仕様変更しましたので、これでこ様の要望が実現できるかと思いますので、是非お試しください。

      • より:

        おはようございます。
        早急の対応ありがとうございます。
        フリーズが解消されました。
        数万件のリスト検索をしているので処理が追い付かなかったのかもしれません。
        本当にありがとうございます。

  5. yn より:

    こんにちは。
    使わせていただきたいと思い、ダウンロードさせていただきました。
    教えてください。
    2021年10月15日 10:53 AMの質問のように、R行を作業列としたく、返信の内容を行ってみましたが、上手くいきません。お手数おかけしますが、お教え願います。
    どうぞよろしくお願いします。

    • RH より:

      管理人のRHです。
      ynさん、ツールのご使用とコメントありがとうございます。

      2021年10月15日 10:53 AM時の質問が当記事を更新する前のVBAコードに対しての回答になっておりましたので、同様に記載しても上手く動かなかったものと思われます。

      本日改めてメンテナンス性が高くなるよう記事のVBAコード部分を更新しました。

      ynさんが実現したい内容(R行を作業列とする)は、当記事(2022/4/20時点)のVBAコードにおいて以下の2か所を修正頂ければ動作すると思いますので、ご確認ください。

      ・9行目を「Private Const WorkCol = “R”」に変更
      ・10行目を「Private Const WorkcolNum = 18」に変更

      上記で目的が実現できない場合は、再度ご連絡をお願いします。

      • yn より:

        ご返答いただき、ありがとうございます。
        検索出来ました!
        ありがとうございます。

        あと、もう1点だけ、お教え願いますでしょうか。
        検索範囲をD行・E行にしているのですが、それぞれ検索をかけるとちゃんと引っかかってきますが、例えば、
        D行に会社名「㈱ABC」、E行に商品名「DEF」を入力

        検索に「ABC DEF」と検索 すると、「検索対象は見つかりませんでした」と出てきました。
        and検索の意味を私がしっかり理解していないのかもしれませんが、両方引っかかるというより、それぞれの項目に引っかかると考えていいでしょうか?
        よろしくお願いします。

        • RH より:

          管理人のRHです。
          ynさん、無事使用できたようで良かったです。

          追加のお問い合わせに関して、
          ynさんが行った下記の動作はツールのルールであるAND条件としては、そのような動きになってしまいます。
          >D行に会社名「㈱ABC」、E行に商品名「DEF」を入力
          >↓
          >検索に「ABC DEF」と検索 すると、「検索対象は見つかりませんでした」と出てきました。

          AND検索というのが、「複数の条件をいずれも満たすもの」を検索結果として表示させるものになります。
          ※今回の場合ですと、一つのセルに「ABC」と「DEF」を含むセルを検索結果に出させる挙動

          ynさんがおっしゃる挙動で動かす場合は、OR検索というものになり「複数の条件のうち少なくともいずれか一つを満たすもの」を検索結果として表示させることになります。

          もし、そのような動作(OR検索)が必要でしたら、必要に応じてカスタマイズできるようにツールを変更しますので、その旨追加でコメント頂ければと思います。

          • yn より:

            ご返答いただき、ありがとうございます。
            OR検索というものがあるのですね、AND検索と混同しておりました、お教えいただきありがとうござます。

            希望としては、OR検索がしたいです。
            現在、2つのデーター用に活用させていただいています。
            1)B、D、E行
            2)B、D、E、F、G、M行
            各上記行が、検索に引っかかるように設定しています。
            ややこしくて済みませんが、お教えいただけますでしょうか?
            よろしくお願いします。

  6. RH より:

    管理人のRHです。
    ynさん、コメントありがとうございます。
    (返信できる件数の上限を超えましたので、新規でコメントします。)

    ご希望された「OR検索」ができるように改修しましたが、要望に応えられるものになっていますでしょうか。

    なお、1)B、D、E行 2)B、D、E、F、G、M行を検索対象にする場合は、以下のとおり修正していただければ動作するかと思います。
    ・VBAコードの11行目を Private Const SearchTgtCol = “B,D,E,F,G,M” に変更する。
    ・Excelファイルを再度ダウンロードしていただき、「J3」セルを「OR検索」に変更する。
     (ダウンロードできるExcelファイルを新しいバージョンに変更しました)

    一度ご確認をお願いします。

    • yn より:

      何度もご返答いただき、ありがとうございます。
      とても分かりやすくタブをつけていただいて、誰でも使いやすいようになっており、とても助かります。

      もう1点だけ、確認させてください。何度も済みません。
      複数条件に合致したものだけを抽出、としたいのですが、それはまたOR検索でもAND検索でもなく、別検索になりますでしょうか。

      例えば、B,D,F行が検索対象行とすると、Bに会社名、Dに商品名、Fに単価を入れています。検索ボックス「アマゾン 〇〇商品」と入力すると、「アマゾン 〇△商品」「楽天市場 〇〇商品」も含まれて検索結果に出てきます。
      「アマゾン」で買った「〇〇商品」の単価はいくらだったか?が出てきてほしい場合は、また違った検索になりますでしょうか。

      私の質問の仕方がイマイチなため、何度も質問重ねて申し訳ございません。
      よろしくお願いします。

      • RH より:

        管理人のRHです。
        ynさん、ご確認ありがとうございます。

        なるほど、そういうことですか、理解できず失礼しました。

        イメージとしては、項目をまたいだAND検索を行いたいという意味だと理解しました。
        おそらく、B列とD列の値が一つのセルに入ってる状態なら、AND条件で検索をすればynさんの行いたいことを実現できるのかなと思います。

        現状としては当ツールは「一つのセルに対して検索」をする機能しかないので、ynさんが行いたい仕様になっていません。

        可能なら、その機能を実現したツールを作りますので、少しお待ちいただけますでしょうか。

        • RH より:

          管理人のRHです。
          ynさんへ、項目をまたいだAND検索ができるツールを用意できましたので、以下のページからツールをご確認ください。

          https://resthill.blog/excel-vba-tool9/

          必要に応じて、表内の列等が多くなった場合などは、VBAコード内の(設定値)を変えることで対応できるかと思います。
          不明点等ありましたら、改めてコメントをください。

          • yn より:

            早々にご返答いただき、ありがとうございます。
            私こそ、上手く質問出来ておらず、大変失礼しました。
            ツール確認いたしました。とても分かりやすく、希望通りです!
            何度もお付き合いいただき、ありがとうございました。

            管理人さんのサイトで、マクロの凄さを知りました。
            マクロって、メンドクサソウ・何書いてるか分からないし、関数は分かるからそれで何とかしよう・・としていました。つまづいた結果、検索して、こちらのサイトに辿り着きました。
            他サイトと比べて、大変見やすい・分かりやすい・ど素人でも試しやすかったです。マクロを知って楽しかったので、サイトでも勉強させていただきます。
            ど素人の私に対して親身になって、迅速にお答えいただきありがとうございました!

  7. RH より:

    管理人のRHです。
    ynさん、ご返答ありがとうございます。
    (返信できる件数の上限を超えましたので、新規でコメントします。)

    ご希望通りのものを作ることができてよかったです。そしてお褒め頂き大変ありがとうございます。
    VBAマクロは細かな業務効率化をするために非常に有効な方法だと思うので、是非、当サイトも含めて色々なもので学んでいただき、日々の業務にご活用いただけたらと思います。

  8. TF より:

    管理人さま

    使い勝手がよく、作業が効率化できました。ありがとうございます。
    下記内容についてご教示頂きたく、コメントいたします。

    検索を実行すると、検索ワードに該当しない行は格納されると思いますが、
    35行目以降(初期状態は34行目まで罫線あり)にデータ入力し使用したところ、検索後に該当しない行が格納しません。(34行目までは格納される)

    35行目以降も格納できるようにしたいのですが、何か対応策はございますでしょうか?

    以上

    • RH より:

      管理人のRHです。
      TFさん、ツールのご使用とコメントありがとうございます。

      35行目以降にデータ入力した場合は、それらも検索対象と認識して、検索とフィルター解除の対象となるはずでしたが、されないようですね。

      では試しにですが、34行目の行全体をコピーして、35行目以降に貼り付けて、貼り付けた行に値を入力した状態で、「検索」をするとどうなるでしょうか。

      また、増やした行(例えば35行から40行まで増やす)の35行目のセルに値が一つも入っていない状態で、36行目のセルに値が入っていても検索対象が35行までになります。そのため途中の行で空行が存在しないようにする必要があるのですが、これも問題ないでしょうか。

      • TF より:

        管理人さま

        迅速な対応ありがとうございます。

        本件の事象について、34行目の行全体をコピペしてみたところ、問題なく動作いたしました。
        また、後述された空行の件についても問題なく動作することを確認いたしました。

        ありがとうございました。これからも当マクロを使わせていただきます。

        以上

        • 匿名 より:

          管理人のRHです。
          TFさん、コメントありがとうございます。

          問題なく動作したとのことで、安心しました。
          またお使い頂いて、何かありましたらコメント願います。

  9. hako より:

    管理人さま
    とても便利なツールをありがとうございます。
    1つ質問なのですが、AND検索を1つのセルに対してではなく1つの行に対して行うようにすることは可能でしょうか。

    もし可能でしたら、その方法を教えていただけると助かります。
    よろしくお願い致します。

    • RH より:

      管理人のRHです。
      hakoさん、コメントありがとうございます。

      申し訳ありませんが、このツールでは行単位でのAND検索には対応していません。
      >1つ質問なのですが、AND検索を1つのセルに対してではなく1つの行に対して行うようにすることは可能でしょうか。

      しかし、別のツール『テーブル内の各項目データ検索ツール』(https://resthill.blog/excel-vba-tool9/)
      でしたら、行単位でのAND検索が可能かと思うのですが、おっしゃることは実現できそうでしょうか。

      お手数ですが、一度当ツールのご確認をお願いいたします。実現したいイメージと異なる場合は改めてコメント頂ければと思います。

  10. hako より:

    管理人さま

    早速お返事をいただきありがとうございます。
    私がイメージしているものは、例えば項目にKeyword1~Keyword5まであり、その中に検索ワードの〇〇と△△が存在する行を探したいみたいな感じです。
    返信いただきました『テーブル内の各項目データ検索ツール』のやり方ですと、項目ごとに検索ワードを入れる形になるので、ちょっと違うのかなぁと。

    そのため、こちらのツールを参考にさせていただきました。
    1つの検索ボックスにいくつかワードを入れて、一致する行を探したいというのが希望です。

    もしそのようなことが可能でしたらご教授いただけると助かります。

    • RH より:

      管理人のRHです。
      hakoさん、コメントありがとうございます。

      申し訳ありません、勘違いしておりました。なるほど、そういうことですね。
      項目を指定せずセル内でなく、行内でAND検索をしたいということで理解しました。

      では、暫定的な対応ですが、既存のVBAコードの78行目~117行目を削除していただき、代わりに以下のコードを記載願います。(※コメント欄の縮小のため、コードの空行をなくしています)
      ===============================
      Dim findCnt As Long
      For Each keyword In keywordArr
      ‘検索対象の列がある分だけ繰り返す
      For iCol = 0 To UBound(tgtCol)
      tgtWord(0) = Range(tgtCol(iCol) & iRow).Value
      searchResult = Filter(tgtWord, keyword)
      If UBound(searchResult) <> -1 Then
      findCnt = findCnt + 1
      Range(tgtCol(iCol) & iRow).Font.Color = RGB(255, 0, 0)
      Exit For
      End If
      Next iCol
      Next keyword
      ‘AND検索の条件で検索する場合
      If InStr(SearchType, “AND”) <> 0 Then
      If findCnt = UBound(keywordArr) – LBound(keywordArr) + 1 Then
      Range(WorkCol & iRow).Value = “1”
      blnSearchExist = True
      Else
      Rows(iRow).Font.ColorIndex = 1
      End If
      ‘OR検索の条件で検索する場合
      Else
      If findCnt > 0 Then
      Range(WorkCol & iRow).Value = “1”
      blnSearchExist = True
      Else
      Rows(iRow).Font.ColorIndex = 1
      End If
      End If
      findCnt = 0
      Erase tgtWord, searchResult
      =================================
      これで動作するかと思いますので、一度お試しいただき、イメージと異なる場合はお手数かけますが再度コメントを頂きたくお願いいたします。

      • hako より:

        管理人RHさま

        ありがとうございます。
        私のイメージ通りです!ちゃんと動作しました!!!
        本当にありがとうございました。

        • RH より:

          管理人のRHです。
          hakoさん、コメントありがとうございます。

          イメージ通りのツールを作ることができて良かったです。
          また、ご要望等がありましたらコメントをお待ちしております。

  11. CK より:

    管理人さま

    VBAは初心者です。
    検索ツールを作りたくていろいろ検索し、これだ!と思うものに出会えて感激し、DLさせていただきました。ありがとうございます。
    1点質問がありまして、
    表のデータが増えていくのが必然なのですが、データを入れていくのは現在いわゆる表(勘違いでしたらすみません)の様ですが、こちらはデータ行が増えても取り扱いやすいテーブルにすることは可能なのでしょうか。
    もしテーブルで稼働できるのであればお教えいただけると助かります。
    よろしくお願いいたします。

    • RH より:

      管理人のRHです。
      CKさん、ツールの使用とコメントいただき、ありがとうございます。

      当マクロツールはDLできるファイルは初期状態では表形式になっていますが、表部分をテーブルに変更しても稼働するかと思います。

      実際にテーブルに変更して動かしてみて、思ったような動作がしない場合は改めてコメントいただければと思います。
      もし動作しない等ありましたらご希望の状態に改修する方法をお伝えいたします。

      • CK より:

        管理人RHさま。
        早速ご回答いただきありがとうございます。

        実際にテーブル変更して動かしてみたのですが、エラーが表示されてしまいました。
        テーブルは、表の8行目を見出し行として変換しました。
        エラーは178行目がマーキングされていて
        「RangeクラスのAutoFilterメソッドが失敗しました」
        と表示されます。
        すみません、できればテーブルにして使用したいのですが
        もし大きくコードを構築しなければならないようでしたら申し訳ないので
        以前のコメントにあった行全体をコピペして増やすことに致します。
        ご足労でないようでしたら、改修方法をご教示いただければと存じます。

        • RH より:

          管理人のRHです。
          CKさん、コメントありがとうございます。

          動作しない旨、承知しました。
          本日(2022/11/25)テーブルが使用されている場合でも動作するようソースコードを改修しましたので、改めてソースコードをコピペしてご利用いただければ幸いです。

          #改修箇所:ソースコード259行~268行目
          原因を調査したところ、作業列にあたる列がテーブルに含まれなかったことが理由だと判明しましたので、テーブルが使われていた場合は作業列をテーブル内に含むよう処理を追加しました。

          • CK より:

            管理人のRHさま

            CKです。早速ご対応いただきありがとうございます。
            正にコレ!というイメージ通り、とてつもなく重宝するツールを公開していただき感謝です。
            いろいろな場面で使わせていただきます。
            お手数をお掛け致しました。ありがとうございました!!!!!

  12. はりー より:

    いつも参考にさせていただいております。
    バーコードでの備品管理をしています。
    A列のセルにバーコードでNoを入力し右のセルにVLOOKで在庫場所や入庫、出庫状況を表示させ、いつ、誰が度のタイミングで出しているのかなどを表示させてています。

    一点ご相談なのですが、
    いろいろとデータを入れていくとき、
    A列のセルにバーコードで数字を入力したときに、その入力した数字で同時に検索をかけ、これまでの経過を表示させていくことは可能でしょうか。
    というのも、どのような払い出し経過をしているのかみたいと言われました・・・汗

    • RH より:

      管理人RHです。
      はりーさん、コメントありがとうございます。返答が大変遅くなり申し訳ありません。

      A列のセルに数字等の値を入力したときに、同時に検索をかけることは実現可能です
      現状のツールに当てはめると、A列の新規行に値を入力すると、検索ワード欄に入力した値が同時に入力されて検索まで実施されるイメージで考えていますが、合ってますでしょうか?

  13. KO より:

    いつも参考にさせていただいております。
    今回のマクロツールですと、検索ワードを入力後に検索ボタンをクリックする必要がありますが、その手間を省く方法はありませんでしょうか?(検索ワード入力欄に入力すればフィルターがかかるといった形)
    ご教授くださいますと幸いです。

    • RH より:

      管理人RHです。
      KOさん、ツールのご使用とコメントありがとうございます。

      検索ワードに値を入力してカーソルを外す(Enterやtab等を押す)だけで検索がかかるようにする方法を以下にご説明します。

      1.ツールのVBAのソースコード(このページ内にあるVBAコード)をコピーして、VBEの「Sheet2(テーブル内データ検索)」をダブルクリックして、表示された右側の欄にそのまま貼り付けします。
       ※元々「Module1」に記載されていた内容を「Sheet2」に張り直します。

      2.「Module1」に記載されていたコードは削除します。

      3.「Sheet2」に貼り付けたコードの最後に以下をコピペします。
       ===============================
       Private Sub Worksheet_Change(ByVal Target As Range)

        If Replace(Target.Address, “$”, “”) = KEYWORD_POINT Then
        Call 検索_Click
        End If

       End Sub
       ===============================

      これらをすれば検索ボタンを押さずして検索が実行されるかと思います。

      また、検索アイコンと解除アイコンを使用する場合には、改めてそれらのボタンにマクロの登録を行う必要がありますのでご注意ください。

      行ってみて思ったような動作がしない場合は改めてコメント頂ければ幸いです。

  14. kura より:

    管理人様

    お世話になります。
    こちらのツールのお陰で既存のExcelの表を検索するのが容易になり、大変助かり、感謝しきれません。
    ひとつ質問なのですが、セルないに半角カナで入力されている場合は全角カナを検索窓に入力しても検索できません。
    どうやら大文字は大文字で、全角は全角でとセル内と全く同じ書式でないと検索できない様なのですが、出来る方法はございますでしょうか。
    ご返答のほど、よろしくお願いいたします。

    • RH より:

      管理人RHです。
      kuraさん、ツールのご使用とコメントありがとうございます。

      大文字と小文字や、全角と半角を区別せずに検索する場合は、以下のご対応をお願いします。

      ・88行目と133行目の2行分を以下のように変更してください。
       searchResult = Filter(tgtWord, keyword)
        ↓
       searchResult = Filter(tgtWord, keyword, True, vbTextCompare)

      ソースコード修正後に実行し、思ったような動作がしない場合は改めてコメントいただければと思います。

  15. kura より:

    管理人様

    早速のご返答、誠にありがとうございます。
    コード修正後、検索できるようになりました。
    またわからないことがあれば、質問させていただくかもしれませんが、その際はよろしくお願いいたします。
    誠にありがとうございます。

    • RH より:

      管理人RHです。
      kuraさん、ご希望通り検索できたようで良かったです。
      また何かありましたら遠慮なくコメント等頂ければ返信いたします。

  16. うめ より:

    1つ質問させて頂きたいです。
    247行目で「オブジェクト変数またはWithブロック変数が設定されていません」というエラーが出てしまいます。
    どのように対処したらよいかご教授願います。

    • RH より:

      管理人RHです。
      うめさん、ツールのご使用とコメントありがとうございます。

      247行目の「workColNm = BaseSht.Cells(HEAD_ROW, WorkColNum).Value」でエラーになっているかと思います。
      管理人の環境では、当該エラーは発生しないため再現させることができません。
      エラーになった状況(表に入っている特異なデータ、どの操作をした場合にエラーが出るか)をもう少し詳しく教えていただけるとエラー発生原因が分かるのですが、説明頂くことは可能でしょうか。
      例)検索する値に日付を入れて検索ボタンをクリックしたときに発生する。等

      または、デバッグ(エラーが発生した箇所とそのあたりで使用されている変数の値を調べる等)していただければ原因発生の理由に近づくのですが、いかがでしょうか。

      それかもし可能でしたら、「お問い合わせフォーム」よりご連絡いただければ個別に原因追及等の対応をいたしますので、ご検討ください。

      • うめ より:

        こちらからコメントしたのにも関わらず、日数が経ってしまい申し訳ありません。

        RH様が用意してくださったサンプルをダウンロードして、そこにソースコードを追加し、ユーザーフォームの実行を押すとエラーになってしまいます。
        検索する値などはいれていないです。
        Excel2016で行っています。

        お問い合わせフォームの場所が分からず、コメントでの返信となってしまいました。申し訳ありません。

        • RH より:

          管理人RHです。
          うめさん、ご返答ありがとうございます。

          実施頂いた内容で少し気になったのが、マクロを実行する際に「ユーザーフォームの実行を押した」というところです。
          このツールを実行させるには、本来は検索ワード欄の右にある(虫眼鏡マーク)をクリックするか、またはその右にあるグレイのアイコンをクリックします。

          試しに実施していただきたいのですが、上部リボンの「開発」タブ→「マクロ」→「検索_Click」を選択して「実行」を押していただくと、エラーは起こりますでしょうか。

  17. chika より:

    マクロの知識がなければやったこともないまま、簡単に入れられたこちらのデータを利用させていただいております。
    かなり初歩的な質問なのですが、データをマクロ有効ブックで保存し閉じ、再び開いたときにマクロが無効化されていますという表記が上に出てきたので、有効にするというところをクリックした後に検索かけると
    実行エラー”1004″ ‘Rangeメソッドは失敗しました’ ’_Global’オブジェクト
    という表記が出てデバッグをクリックすると
    Range(Head Cell Point).AutoFillter
    という部分が黄色くマーカーされている状態です。(検索はかけられないまま)

    マクロ知識以前の問題かもしれませんが、常に開いただけで検索がかけられる状態にすることはできますでしょうか。このような表記が出てしまう原因と改善方法を教えていただけますと幸いです。
    わかりにくい文章で申し訳ございません。よろしくお願いいたします。

    • RH より:

      管理人RHです。
      chikaさん、ツールのご使用とコメントありがとうございます。

      いえいえ、Excelマクロなどを知らずに使えることをモットーにしていたのに簡単に使えず申し訳ないです。

      おっしゃっていただいた内容は、当方の環境では再現できないですが、現象は承知しました。

      試しにですが、VBAソース上の
      56行目と205行目の「Range(HeadCellPoint).AutoFilter」の2か所を「BaseSht.Range(HeadCellPoint).AutoFilter」に変更して動作させてみるといかがでしょうか。

      ソースコード修正後に実行し、思ったような動作がしない場合は改めてコメントいただければと思います。

      • chika より:

        管理人様
        早急かつご丁寧な返信ありがとうございます。
        いただいた内容で修正かけましたところ、正常に作動するようになりました。大変助かりました。
        今後使用していてまた何か不具合置きましたらご連絡するかもしれませんが、その際はよろしくお願いいたします。
        この度は大変ありがとうございました。

        • RH より:

          管理人RHです。
          chikaさん、ご返答いただきありがとうございます。

          コメントいただいたおかげで、不具合を見つけることができ感謝しています。
          また何かありましたら気軽にコメントください。

  18. KK より:

    管理人様
    このような便利なツールを公開していただいて大変感謝しております!
    こちらをベースに使わせていただこうと準備をしております。

    ところで質問ですが、
    検索ボタンを押さずに「フィルター解除アイコン」をクリックすると、デバッグモードになってしまうようです。
    これを回避するにはどうしたらよいでしょうか?

    本来、検索ボタンを押していない状態で フィルター解除ボタンを押す必要はないのですが、
    押す人がいた場合に備えたいのと、
    ファイルを開いたときに常に検索結果がリセットされた状態にするために、リセットをするようなイベントプロシージャを設定したい、
    という理由で質問させていただきました。

    よろしくお願いいたします。

    • RH より:

      管理人RHです。
      KKさん、ツールのご使用とコメントありがとうございます。

      ご指摘頂きありがとうございます。おっしゃる通り検索を一度もしていない状態でフィルター解除アイコンをクリックすると、エラー状態になっていました。
      本日、修正したVBAソースをアップロードし直しましたので、再度コピーして使用いただければデバッグモードになる現象は解消されているかと思います。

      もう一点、
      「>ファイルを開いたときに常に検索結果がリセットされた状態にするために、リセットをするようなイベントプロシージャを設定したい、」というご希望に関しては、
      VBEのプロジェクト内の「Thisworkbook」に対して、以下のVBAソースを追記頂ければ可能かと思います。

      ‘ここから================================
      Option Explicit
      Private Sub Workbook_Open()
      Call フィルター解除_Click ”フィルター解除を起動
      End Sub
      ‘ここまで================================

      VBAソースコードを追加頂き、思ったような動作がしない場合は改めてコメントいただければと思います。

      • kk より:

        管理人RH様

        早速ご対応くださいましてありがとうございます!

        また、ご親切にイベントプロシージャのコードも書いてくださりありがとうございました。

        最新のコードをコピーして使わせていただきます。
        大変助かりました。感謝申しあげます。

  19. VBA初心者 より:

    VBA初心者です。
    手順6の検索アイコンから分かりませんでした。
    会社のPCからExcelダウンロードすると何もないExcelがダウンロードされ、携帯からダウンロードするとアイコン表示されてます。
    初心者用に手順6からのアイコン?(正式名称分かりません)セルの1から6に表示されているアイコンの作り方教えてくださいm(_ _)m

    • RH より:

      管理人RHです。
      VBA初心者さん、ツールのダウンロードとコメントありがとうございます。

      ダウンロードしたExcelファイル内に検索アイコンが表示されていないように見受けられます。

      セル1~6にあるオブジェクトなどに関しては、少しややこしいですが、以下のようになっています。

      ●D4セル:検索文字が入るセル
      ●検索アイコン:楕円形の図形(虫眼鏡アイコン付き)
      ●検索解除アイコン:楕円形の図形(更新アイコン付き)
      ●検索条件:スライサー(非表示のsettingシートに対応する表が記載)
      ●条件の対象:スライサー(非表示のsettingシートに対応する表が記載)

      少し難しいですが、上記と同等の状態をExcelで作り出せればツールを使用できると思います。

      しかし、そもそも使用されているPCでアイコンが表示されないことがおかしな現象であるため、もう少し現象を詳しくお聞きしたいのですが、ダウンロードしたExcelの1~6行目は図形等の表示自体が全くない状態でしょうか?

      • 匿名 より:

        返信ありがとうございます。
        会社のExcel2013バージョンでセルに何も表記されていませんでした。
        他のタブレットやPCでも同じ現象なので会社のセキュリティが原因かもしれません。
        PDF入っていないのですがこちらが原因かもしれません。

      • VBA初心者 より:

        教えて頂いた虫眼鏡アイコン等自分なりに調べて見たのですが知識が足りなく全く分かりません。
        フォームのコントロールの中から選択するのでしょうか?
        Excelの図形なら虫眼鏡を作りマクロで登録するのでしょうか?
        質問ばかりで申し訳ありませんm(_ _)m

        • RH より:

          管理人RHです。
          VBA初心者さん、コメントありがとうございます。

          会社のセキュリティ等の理由で図形等が表示されないのは初めて知りました。

          まず大まかに説明すると、楕円形の図形と虫眼鏡アイコンを二つ作り、二つを重ね合わせて検索アイコンとして作成しています。
          以下に「検索アイコン」の作り方を細かくお伝えします。

          <楕円形の図形>
          ❶上部リボンタブの「挿入」→「図形」→「楕円」より
           楕円系の図形をセル内に適当なサイズで図形を作ります。

          <アイコン>
          ❶上部リボンタブの「挿入」→「アイコン」でストック画像の画面を表示させます。
          ❷上部のタブをアイコンにして、検索ボックスに「検索」と入力して、Enterを押します。
          ❸表示されたアイコンの中から虫眼鏡アイコンをクリックして、挿入ボタンをクリックします。

          二つの図形をサイズを合わせて重ね合わせて検索アイコンとしています。フィルター解除アイコンも同様の方法で作成しています。

          検索文字の間に空白を利用する場合は、「検索条件」と「条件の対象」を使えるのですが、スライサーに関しては、少し作り方の説明が複雑になってしまいます。

          上記の説明でいかがでしょうか、難しい場合は、改めてコメント等いただけますと幸いです。

  20. PDF初心者 より:

    管理人様早期対応ありがとうございます。
    PDFやパワポも入っておりシステム担当の知識ある方に何故Excelに表示されていないのか調べて頂いて貰ってます。
    本日出張でPC手元にないので明日教えて頂いたやり方でチャレンジしたいと思います。
    丁寧かつ迅速な対応感謝致しますm(_ _)m

  21. PDF初心者 より:

    アイコン表示がなくExcel2013が原因かもしれません。
    残念ですが今回は諦めます。色々ありがとうございましたm(_ _)m

    • RH より:

      管理人RHです。
      PDF初心者さん、コメントありがとうございます。

      Excelのバージョンで挿入→アイコンの表示がないとのことなので、アイコンは使用せずに図形内に「検索」の文字のみを入力する等でご対応は可能でしょうか。

      (挿入→図形)自体ができない(クリックできない等)という現象が起きていたらそれも難しいと思いますが。

  22. yumi より:

    初めまして。会社に過去データの検索機能がなく
    さかのぼって調べるのが大変なためこのツールを見つけて感動しました。

    別シートに作成した表データを
    検索シート内のセル(C列)にVLOOKUPで検索し
    反映させるように関数を入れたところ
    赤文字にはなるのですがシートが
    折りたたまれなくなってしまいました

    関数を消して検索したところ元通りになったので
    列に関数を入れたことが問題だとは思うのですが、
    VLLOKUPを使用した列も含み折りたたまれるようにするようにする方法があればご教示お願い致します。

    上手く説明できず申し訳ございませんが
    よろしくお願いします。

    • RH より:

      管理人RHです。
      yumiさん、コメントありがとうございます。

      検索シート内のセル(C列)にVLOOKUP関数を入れたところ、折りたたまれなくなるのは想定外でした。
      しかし、こちらの環境で同様の状態(C9とD9の2か所にVLOOK関数を入れて、他シートの値を取得する状態)を作り実行してみましたが、対象外の行が折りたたまれないという現象は起きませんでした。

      そこで試しにご確認いただきたいのですが、検索した後で折りたたまれなかった際は、Excelファイル内の作業列にあたる列(デフォルトではK列で、非表示になっています)の値はどうなっていますでしょうか。
      赤色表示の値がある行のみ1が入力されていて、他行には何も入力されていない状態が正しいのですが、いかがでしょうか。

      恐れ入りますが、ご確認をお願いします。

      • yumi より:

        管理人様ご回答ありがとうございます。

        再表示にしたところK列は何も表示されていませんでした
        最初 エラー№ 13、型が一致しませんと表示されましたが
        何度か試してみたところ、折りたたまれるようになりました

        当初の私の動作に問題があったのかもしれません。
        お時間を頂戴して申し訳ございませんでした。
        ご対応いただきありがとうございました

        • RH より:

          管理人RHです。
          yumiさん、コメントありがとうございます。

          検索後に赤色表示がある行にはK列に「1」が表示されるはずなのですが、表示されないことがおかしな動作になっています。
          何度か試した際に折りたたまれるようになって、ひとまず正常な動作するようになったということで、いったんは問題なしということですね。

          他の方も同様の現象が起きている方もいらっしゃいますので、潜在的な不具合が存在するかもしれません、また起きることがありましたら、コメントまたは問合せフォームより連絡ください。

  23. 素人X より:

    管理人様
    便利なツールをいつもありがとうございます。
    今回のツールも早速使用させて頂いたのですが、なぜか検索してもシートが折りたたまれず、対象部分が赤くなるのみになってしまいます。

    何か考えられる原因はございますでしょうか?

    • RH より:

      管理人RHです。
      素人Xさん、コメントありがとうございます。

      他の方からも同様のコメントがありましたが、こちらの環境では確認することはできませんでした。

      そこで試しにご確認いただきたいのですが、検索した後で折りたたまれなかった際は、Excelファイル内の作業列にあたる列(デフォルトではK列で、非表示になっています)の値はどうなっていますでしょうか。
      赤色表示の値がある行のみ1が入力されていて、他行には何も入力されていない状態が正しいのですが、いかがでしょうか。

      恐れ入りますが、ご確認をお願いします。

      • 素人X より:

        管理人様
        ご返信いただきありがとうございます。
        先ほどK列を確認したところ、何も表示がされていない状態でした。
        この場合、どのように対応すればよろしいでしょうか。

        • RH より:

          管理人RHです。
          素人Xさん、コメントありがとうございます。

          検索後に赤色表示がある行にはK列に「1」が表示されるはずなのですが、表示されない部分は予想外の動作になっています。

          もし可能でしたら、現象が起きた際の以下の情報を教えていただけますでしょうか。
          原因解明につながるかもしれません。
           ●検索ワードに入力した値の構成 (一単語か、複数の単語をスペースで区切って入力したか)
           ●検索時の検索条件 (AND検索かOR検索か)
           ●条件の対象 (一つのセルか複数項目か)

          また可能でしたら、問合せフォームからご連絡いただければ、対象のファイルを確認したうえで個別に問題解消の対応をいたしますので、ご検討ください。

          • 素人X より:

            管理人様
            お返事ありがとうございます。
            検索ワードは1単語のみを入れ、検索条件・検索対象はそれぞれ変更して数通り実験をしてみましたところ、すべて同じ症状でした。

  24. ちる より:

    本日初めて使わせていただいた初心者です。
    自身のPCでは使えるのですが、ファイル共有サーバーから別のPCで使用するとマイクロソフトからマクロのブロックされてしまいます。office365使用しております。対処法はありますでしょうか?よろしくお願いします。

    • RH より:

      管理人RHです。
      ちるさん、コメントありがとうございます。
      マクロがブロックされてしまうとのことですが、一度以下の記事を基にブロックを解除していただいても良いでしょうか。
      https://resthill.blog/macro-tips1/

      記事に記載の方法でも、まだブロックされてしまう場合は改めてコメントをお願いします。

  25. RH より:

    管理人RHです。
    素人Xさん、ご確認とコメントありがとうございます。
    ※返信できる数を超えてしまったので新しくコメントします。

    検索ワードは1単語のみを入れ、検索条件・検索対象はそれぞれ変更しても全て同じ症状なのですね。
    デバッグすると111行目、155行目、164行目の行を通過していない(このどれかの行を通過しないとK列に1が入らない)状態なのが問題だと思われます。
    例えば、VBEの111行目にブレークポイントを置いた状態で、条件の対象を「一つのセル」にして(検索条件はどちらでも良いです。)検索をした際に、111行目で処理が止まるかご確認いただけますでしょうか。

    ブレークポイントの置き方については、https://resthill.blog/vba-debug/#rtoc-5をご参照ください。

  26. OO より:

    管理人様
    このような便利なツールを公開していただきありがとうございます。大変感謝しております。

    検索ワードを含むセルが赤くなるのですが、検索ワードのみを赤く変更することは可能でしょうか?
    もし可能であれば、コードをご教授いただきたいです。
    よろしくお願いいたします

    • RH より:

      管理人RHです。
      OOさん、ツールの使用とコメントありがとうございます。

      検索ワードのみを赤くすることは可能ですので、改めてコードを公開いたしますので、お待ちください。

      • OO より:

        ありがとうございます!
        お待ちしております。

        • RH より:

          管理人RHです。
          OOさん、お待たせいたしました。

          検索ワードのみを赤くする仕様のツールを作成しましたので、ご確認ください。
          この記事の最後に追加しました。(以下URLをクリックください。)

          https://resthill.blog/excel-vba-tool2/#rtoc-10

          • OO より:

            ありがとうございます!!
            大変感謝しております。

            すみません、また質問になるのですが、
            大文字と小文字や、全角と半角を区別せずに検索する場合はどのように変更すればよろしいでしょうか?

            他コメントで返信いただいている通りにやろうとしましたが、うまくいかず…

  27. RH より:

    管理人RHです。
    OOさん、ご確認とコメントありがとうございます。

    大文字と小文字、全角と半角を区別せず検索する場合は、異なる仕様のツールにあるソースコードを以下のように修正してみてください。

    88行目、149行目の二か所を以下に変更願います。
    (修正前)wordStart = InStr(tgtWord(0), keyword)
          ↓
    (修正後)wordStart = InStr(1, tgtWord(0), keyword, vbTextCompare)

    ソースコードを修正した後に実行し、思うような動作がしない場合は改めてコメントいただければと思います。

    • OO より:

      ありがとうございます!!
      無事動作いたしました。

      • RH より:

        管理人RHです。
        OOさん、ご確認とコメントありがとうございます。

        無事動作したようで良かったです。また不明点がありましたら気軽にコメントください。

  28. VBA練習したい より:

    非常に有意義に使わせていただいております。
    検索項目1~5個設定でき、1~5毎に色をフォントの色を変更したい場合どのようにさせていただけばよろしいでしょうか

    • RH より:

      管理人RHです。
      返信が大変遅くなり、申し訳ありません。
      VBA練習したいさん、ツールの使用とコメントありがとうございます。

      検索項目1~5個設定でき、1~5毎にフォント色を変えることは可能だと思いますので、申し訳ありませんが改修後に改めてアップロードしますので、お待ちください。

      • RH より:

        管理人RHです。
        VBA練習したいさんへ

        検索項目1~5個設定でき、1~5毎にフォント色を変える仕様のツールをアップロードしましたので、ダウンロードして使用ください。
        (https://resthill.blog/excel-vba-tool2/#rtoc-10)

        なお、時期未定で今後有料になる予定ですので、お早めにダウンロードください。

  29. mayu より:

    こちらのマクロツール使わせて頂いております。
    とても使いやすく重宝してます。

    こちら別シートを検索範囲にして、検索ヒットしたものを”テーブル内データ検索”のシートに反映することは可能でしょうか?
    テーブル内で完結出来るようになっているのに我儘な事言って申し訳ないです。

    • RH より:

      管理人RHです。
      返信が大変遅くなり、申し訳ありません。
      mayuさん、ツールの使用とコメントありがとうございます。

      動作としては可能ですが、どのようなUIにするか少し考えますので、改修後に再アップロードしたいと思いますので、申し訳ありませんがもう少々お待ちください。

  30. nm より:

    便利なツールありがたく使わせていただいております。
    1点お伺いしたいことがあるのですが、以下のyさんのように、M列までを利用したいのですが、その場合どこをどのように書き換えればよいでしょうか。

    「y より:
    2021年10月15日 10:53 AM
    作業列をKではない列に変更することは可能でしょうか。
    AQまでの列を使用したいと考えております。」

    • RH より:

      管理人RHです。
      nmさん、ツールの使用とコメントありがとうございます。

      M列まで利用する場合は当ページの「検索対象の列について(https://resthill.blog/excel-vba-tool2/#rtoc-5)」の「表の項目の列数を変更する場合」→「項目を増やす場合」を実施していただければ対応できると思います。

      <手順>
      ①K列を再表示させます。
      ②K列~M列まで表の項目とデータをコピーして貼り付けます。(例:J列をコピペする)
      ③「setting」シートのB3に追加した列名を追記します。(例:K,L,Mを追加する)

      上記を実施して、思うような動作がしない場合は改めてコメントいただければと思います。