Topワークシート上の表からキーワードを検索する方法は幾つかありますが、VLookupとFindの例を紹介します。検索はその行為だけでなく、そのキーワードの隣のデータを取得する、キーワードの個数をカウントするなど別の処理と結びついています。いくつかの例をまとめてみました。†KeyWordが範囲(Range)の左端の列にある場合Application.VLookupを使用すると高速で簡単です。情報テーブルの目的の値が入っているセル範囲内での列を指定。ワークシートの列ではありません。True:近似値を含める。False:完全一致検索する。注1注1:完全一致を検索する場合は、必ずFalseを設定して下さい。第3引数の後ろに「,」のみがある場合、第4引数を省略したとはみなされず、FALSEが指定されたものとみなされます。以下の例はKeyWord(例:"A")の右隣の値がTargetWord(例:"AAA")と一致するかというデータの検証のFunctionです。KeyWordが複数無いという前提です。データ検証のためKeyWordが無くてもTargetWordが無くてもFalseとするようにしています。この例でSerchWordを戻すようにすると、右隣のデータを取得することができます。ここでSerchWordのデータ型はVariantです。これはKeyWordが範囲内で見つからなかった時にVLookupが返すエラーを受取るためです。†KeyWordが範囲(Range)の左端の列にない場合Vlookupは使用できません。その場合のFindメソッドを使用した例を紹介します。SearchFormat)range:検索する範囲です。FindはRangeを返します。検索する文字列(KeyWord)を指定します。ここに指定したセルの次から検索を開始します。省略するとrangeの左上セルを指定したことになり、2番目のセルから検索を開始します。最初のセルから検索したい場合は、一番最後のセルを指定します。検索する対象を指定します。完全一致検索をするかどうか指定します。検索の方向を指定します。検索の順を指定します。大文字と小文字を区別して検索するかどうかを指定します。False:区別しない。半角文字と全角文字を区別して検索するかどうかを指定します。書式を検索の条件に含めるかどうかを指定します。設定は、このメソッドが使われるたびに保存されます。)以下はKeyWordを元にその右隣の値を取得する例です。KeyWordが見つからなかったのかKeyWordの右隣の値が空白だったのかを見分けるために、見つからなかった場合"False"を戻り値にしました。KeyWordが複数無いという前提です。†Vlookup関数ではKeyWordのある行の値を求めましたが、行番号を求める場合はMatchを使用します。-1:検索値以上の最小値。0:完全一致検索する。以下の例はKeyWord(例:"A")の値がMatchRangeの領域内にある場合の行を返すFunctionです。KeyWordが見つからなかった場合は0を返します。簡単なのでわざわざ関数を作らなくてもいいと思いますので以下は使用方法のサンプルと思って下さい。返す値がシートの行番号ではなく領域内での行番号であることに注意して下さい。