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 を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

FormulaHidden プロパティ 例1
数式を非表示にする(FormulaHidden プロパティ)

FormulaHidden プロパティ 数式が入力されたセルを選択するとその数式 …

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

DirectDependents プロパティ DirectDependents …

並べ替え(Sort オブジェクト, SortFields コレクション)

Sort オブジェクトによる並べ替え Excel 2007 以降のバージョンでの …

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

UsedRange プロパティ UsedRange プロパティは、指定したワーク …

引数に指定したセル範囲の共通のセル範囲を取得(Intersect メソッド)

Intersect メソッド Intersect メソッドは、引数に指定したセル …

終端セルを参照する(End プロパティ)

End プロパティ End プロパティは、基準となるセルが含まれる領域の指定した …

行・列の表示・非表示(Hidden プロパティ)

Hidden プロパティ Hidden プロパティに True を設定することで …

入力規則(エラーメッセージの設定)Validation オブジェクト

無効値を入力時に、エラーメッセージの表示 Validation.ShowErro …

文字列の横位置を取得・設定する(HorizontalAlignment プロパティ)

HorizontalAlignment プロパティ HorizontalAlig …

非連続のセルが選択されているか確認する(Areas コレクション)

Areas コレクション の使い方 複数の離れた位置にあるセル範囲を選択した場合 …