VAサーチ:検索でヒットした行だけを表示(エクセルVBA)

サンプル

法律事務所では、相談受け付け時の利益相反の確認が重要ですよね。

そうなんです。エクセルで作った過去の相談者のリストを検索するのですが、「すべて検索」機能を使っても、検索結果が見づらいです。

「オートフィルタ」機能というのもありますよ。

それも使ってみました。でも、列ごとではなく全体を検索したいですよね。小さな「▼ボタン」をクリックするのも面倒です。

分かりました。法律事務所で使いやすい検索機能を持ったエクセル用アドインを作ってみましょう。

サンプルのダウンロード

Windowsをご利用の場合は、こちらの統合版をダウンロードしてください(自動でインストールできます)。

Macをご利用の場合は、こちらをダウンロードして手動でインストールしてください。

Excel版VBAアドインの手動インストール

使用方法

VAサーチシリーズ(統合版) 操作マニュアル

ボタン

リボンの「VA」タブの「VAサーチ」グループに、「レコード検索」ボタンがあります。Windowsでは、クイックアクセスツールバー(画面の左上)にも、同じ働きの検索のアイコンが追加されます。

  • レコード検索:「サーチ」の画面を開きます。表の中から、検索語を含む行だけを表示し、ほかの行を隠します。

検索する表

検索するのは、選んでいるセルを含む表です。

  • テーブル([挿入]タブの「テーブル」で作った表)の場合は、テーブルの見出しを除いたすべての行を検索します。
  • テーブルでない場合は、選んでいるセルを囲む、空白の行・列で区切られたひとかたまりの範囲を検索します。その範囲の1行目は見出しとみなし、検索しません。
  • 表のすべての列を検索します。どの列に検索語があっても、その行がヒットします。

使い方

  1. 表のセルを選ぶ:検索したい表の中のセルを1つ選びます。表の外の空白のセルを選んでいると、「データリスト内のセルを選択してから実行してください。」と表示されます。
  2. レコード検索を押す:リボンの「VA」タブの「レコード検索」を押すと、「サーチ」の画面が開きます。画面を開いたままでも、シートを操作できます。
  3. 検索語を入力する:氏名・ふりがな・日付などを入力します。空白(全角・半角のどちらでも)で区切って、複数の検索語を入力できます。
  4. ORかANDを選ぶ:「OR(または)」は、検索語のどれかを含む行を表示します。「AND(かつ)」は、すべての検索語を含む行を表示します(検索語は、同じ行の別々の列にあってもかまいません)。初めは「OR(または)」が選ばれています。
  5. 結果を表示を押す:ヒットした行だけが表示され、表の先頭に移動します。画面は開いたままなので、検索語を変えて、続けて検索できます。該当する行がないときは、「該当するデータはありませんでした。」と表示され、すべての行が表示されたままになります。
  6. 元に戻すを押す:隠した行をすべて表示し直して、画面を閉じます。

同じ文字とみなすもの

次の違いは区別せずに検索します。たとえば、「たかはし」で「タカハシ」も、「渡辺」で「渡邉」もヒットします。

  • 全角と半角、英字の大文字と小文字(「abc」と「ABC」)
  • ひらがなとカタカナ(「りんご」と「リンゴ」)
  • 濁点・半濁点の有無(「なかじま」と「なかしま」、「ぱ」と「は」)
  • 小さい文字の有無(「キャノン」と「キヤノン」、「っ」と「つ」)
  • 長音(ー)の有無(「サーバー」と「サーバ」)
  • 次の異字体(どちらで検索しても、もう一方がヒットします):亞・亜、醫・医、榮・栄、惠・恵、會・会、學・学、國・国、劍・剣、廣・広、舊・旧、つちよし(上が「土」の「吉」)・吉、齋・齊・斎・斉、櫻・桜、澤・沢、嶋・嶌・島、壽・寿、眞・真、穰・穣、髙・高、瀧・滝、鐵・鉄、德・徳、冨・富、豐・豊、濱・濵・浜、邉・邊・辺、檜・桧、淵・渕、萬・万、峯・峰、楳・梅、藪・薮、龍・竜、禮・礼、﨑・崎、區・区
  • 異体字セレクタ(同じ漢字の字形を指定する、目に見えない文字)の有無

日付の検索

検索語が日付として読める場合は、日付としても検索します。

  • 日付のセル(表示形式が西暦でも和暦でも)は、同じ日付ならヒットします。たとえば「2025/1/1」「R7/1/1」「令和7年1月1日」のどれで検索しても、2025年1月1日の日付のセルがヒットします。
  • 文字として入力した日付も、Excelが日付として読める形(「2024-12-31」など)か、「R7.1.1」の形で書かれていれば、同じ日付の検索語でヒットします。
  • 「R7.1.1」「2025.1.1」のように点で区切った検索語は、日付として読めないため、文字としてだけ検索します(日付のセルはヒットしません)。

注意点

  • 行は、行ごと(シートの端から端まで)隠れます。表の右や左に別のデータを置いている場合は、そのデータも一緒に隠れます。
  • テーブルでない表に空白の行があると、空白の行の後ろ(または前)は検索されず、隠れずに残ります。空白の行を作らないか、テーブルにしてください。
  • 検索する前に、オートフィルタの絞り込みが解除され、表の中で手で隠していた行も表示されます。
  • 検索するのはセルの値です。表示形式で付けたカンマ(「1,234,567」)などは、検索の対象になりません。
  • 検索語の「?」「*」「#」は、ワイルドカード(「?」は任意の1文字、「*」は任意の文字列、「#」は任意の数字1文字)として扱われ、記号そのものは検索できません。「[」も特別な意味を持つため、これらの記号は検索語に使わないでください。
  • 保護したシートでも検索できます(検索の間だけ保護を外し、終わったら元の設定で保護し直します)。ただし、パスワードを掛けて保護したシートでは検索できません(「このシートはパスワードで保護されているため、検索できません。」と表示されます)。保護を解除してから検索してください。
  • 同じ文字とみなすかどうかは、アドインの Settings モジュールの定数で、項目ごとに切り替えられます。

コメント

  1. 管理人 より:

    検索のヒット件数が0の場合は、行を非表示にしないように変更しました。(Ver102)

  2. 管理人 より:

    濁点・半濁点の有無(が⇔か、ぱ⇔は)、小書き文字の有無(っ⇔つ、ゃ⇔や)、長音の有無(ー)、ひらがな/カタカナも同一視してヒットするように変更しました。(Ver110)
    OR検索をデフォルトに変更しました。(Ver111)

  3. 管理人 より:

    シートがロックされているされている場合でも動作するようにしました。(Ver112)

  4. 管理人 より:

    リボンからも起動できるように修正しました。(Ver210)

  5. 管理人 より:

    次のとおり変更しました。
    ・仕様を、利用者向けのマニュアル(ボタン・使い方・同じ文字とみなすもの・日付の検索・注意点)に置き換えました。
    ・パスワードを掛けて保護したシートでは、検索せずに、保護の解除を案内するようにしました(これまでは、検索の後にパスワードなしの保護に変わっていました)。(Ver211)
    ・上が「土」の「吉」(つちよし)を、「吉」と同じ文字とみなすようにしました。(Ver211)

タイトルとURLをコピーしました