ExcelWork.info

Excel(エクセル)のマクロ・VBA・関数・操作などのメモ

セル範囲内を検索(Find メソッド)

      2015/10/19

Find メソッド

指定したセル範囲内の特定の情報を含むセルを検索します。

【書式】

object.Find ( what [, after, lookin, lookat, searchorder, searchdirection, matchcase, matchbyte, searchformat ] )


引数・戻り値

  • object  ・・・  対象となる Range オブジェクトを指定します。
  • what  ・・・  検索する文字列、値など、セル内のデータに該当する値を指定します。省略不可。
  • after  ・・・  object で指定したセル範囲内のセルの1つを指定します。このセルの次のセルから検索が開始されます。このセル自体は、指定範囲全体を検索し戻ってくるまでは検索されません。省略すると、対象のセル範囲左上端セルが検索開始点となります。
  • lookin  ・・・  検索対象となる定数(XlFindLookIn 列挙型)または、その値を指定します。
    定数 内容
    xlComments -4144 コメント
    xlFormulas -4123 数式
    xlValues -4163 値(文字列、数値)

  • lookat  ・・・  検索条件を表す定数(XlFindLookAt 列挙型)または、その値を指定します。
    定数 内容
    xlWhole 1 完全一致のセルを検索
    xlPart 2 検索文字列を含むセルを検索

  • searchorder  ・・・  検索時に縦横どちらの行列単位として検索するかを表す定数(XlSearchOrder 列挙型)または、その値を指定します。
    定数 内容
    xlByRows 1 行を横方向に検索してから、次の行に移動
    xlByColumns 2 列を下方向に検索してから、次の列に移動

  • searchdirection  ・・・  検索方向を表す定数(XlSearchDirection 列挙型)または、その値を指定します。
    定数 内容
    xlNext 1 後方検索
    xlPrevious 2 前方検索

  • matchcase  ・・・  大文字と小文字を区別する場合は、True を、しない場合は False を指定します。既定値は、False です。
  • matchbyte  ・・・  半角文字、全角文字を区別する場合は、True を、しない場合は False を指定します。既定値は、False です。
  • searchformat  ・・・  CellFormat オブジェクト に設定された書式を検索する場合は、True を、しない場合は、False を指定します。既定値は、False です。
  • 戻り値  ・・・  検索の結果、条件を満たすセルが見つかったらその先頭のセルを表す Range オブジェクトを返します。見つからなかった場合は、Nothing を返します。

Find メソッドを使用すると、指定した引数の設定は、保存され、次にこのメソッドを使用するときにこれらの引数の指定を省略すると、保存された設定が使用されます。意図した検索を行うためには、メソッドを使用するたびに、これらの引数を明示的に指定します。また、ここで保存された内容は、[検索と置換] ダイアログボックスに表示される設定に反映されます。

同じ検索を繰り返すときは、FindNext メソッド または、FindPrevious メソッド を使用します。



Find メソッド 使用例

サンプルVBAソース


Find メソッド 使用例 実行結果

サンプルVBAソース実行前

Find メソッド 例01

実行後

Find メソッド 例02



Find メソッド(コメントの検索) 使用例

サンプルVBAソース


Find メソッド(コメントの検索)使用例 実行結果

サンプルVBAソース実行前

Find メソッド 例03

実行後

Find メソッド 例04



Find メソッド(日付の検索1) 使用例

日付の検索について:
引数 what には、シリアル値 を指定します。
(例)
  what: = “2015/1/1”  とするとエラーになります。
  what: = DateValue(“2015/1/1”)  のようにシリアル値に変換します。
引数 lookin には、xlValues または、xlFormulas を指定します。

サンプルVBAソース


Find メソッド(日付の検索1)使用例 実行結果

サンプルVBAソース実行前

Find メソッド 例05

実行後

Find メソッド 例06



Find メソッド(日付の検索2) 使用例

日付の検索について:
セルに数式が入力されている場合で、書式が日付、種類に「*2012/3/14」のように「*」がつく表示形式の場合
引数 what には、シリアル値 を指定します。また、引数 lookin には、xlValues を指定します。
セルに数式が入力されている場合で、書式が日付、種類に「2012年3月」のように「*」がつかない表示形式の場合
引数 what には、表示通りの値 「2012年3月」等を指定します。また、引数 lookin には、xlValues を指定します。

サンプルVBAソース


Find メソッド(日付の検索2)使用例 実行結果

サンプルVBAソース実行前

「A1」セルには、「2015/1/1」が入力されており、「A2」セル以降は、「=A1+1」「=A2+1」…「=A20+1」が入力されている。
「A2」から「A10」までの書式設定は、「日付」の「*2012/3/14」
「A11」から「A20」までの書式設定は、「日付」の「3月14日」

Find メソッド 例07

実行後

Find メソッド 例08


 - セルの操作 , , , ,

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

ハイパーリンク(Hyperlink オブジェクトのメソッド)

Hyperlink オブジェクトのメソッド Hyperlinks コレクション …

使用中のセル範囲を取得(CurrentRegion プロパティ)

CurrentRegion プロパティ CurrentRegion プロパティは …

対象のセルを直接参照しているセル全てを取得(DirectDependents プロパティ)

DirectDependents プロパティ DirectDependents …

2つ以上のセル範囲を1つにまとめて参照(Union メソッド)

Union メソッド Union メソッドは、2つ以上のセル範囲を1つにまとめて …

オートフィルタ(矢印を非表示にする)AutoFilter メソッド

AutoFilter メソッド 【書式】 object.AutoFilter ( …

コメントの設定(Comments, Comment, AddComment, ClearComment)

コメントの設定 セルにコメントを新規に挿入するには、AddComment メソッ …

セル・セル範囲に名前を定義・削除(Name プロパティ・Names コレクション)

セル・セル範囲に名前を定義(Name プロパティ) Range オブジェクトのN …

書式で検索(Find メソッド,FindFormat プロパティ)

書式で検索 書式を条件にセルを検索する場合、まず、その書式条件を CellFor …

オートフィルタの設定と解除(AutoFilter メソッド)

AutoFilter メソッド オートフィルタを設定する場合、AutoFilte …

対象のセルが直接参照しているセル全てを取得(DirectPrecedents プロパティ)

DirectPrecedents プロパティ DirectPrecedents …