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

  関連記事

Validation オブジェクト 使用例5
入力規則(日本語入力)Validation オブジェクト,IMEMode プロパティ

IMEMode プロパティ Validation.IMEMode プロパティ を …

オートフィルタ(色で抽出する)AutoFilter メソッド

オートフィルタ(色で抽出する) フォントの色、セルの背景色(条件付き書式による設 …

列名・列番号取得 使用例
列名を取得、列番号を取得(Address プロパティ,Column プロパティ)

列番号を取得する セル番地(「A1」や「B3」)や列名(「A」「B」「C」&#8 …

グラデーション(Pattern プロパティ・Gradient プロパティ)

セルの背景ににグラデーションを設定する Pattern プロパティを使用するとセ …

RemoveDuplicates メソッド 使用例1a
重複するデータを削除(RemoveDuplicates メソッド)

RemoveDuplicates メソッド 指定したセル範囲から重複データを含む …

セルを挿入する(Insert メソッド)

Insert メソッド Insert メソッドで、指定した場所に新規の空白セルを …

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

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

行の高さを取得・設定・する(RowHeight プロパティ)

RowHeight プロパティ RowHeight プロパティは、対象セルの高さ …

セルの位置を取得(Left プロパティ、Top プロパティ)

Left プロパティ・Top プロパティ Left プロパティは、「A列」の左端 …

列幅を取得・設定・する(ColumnWidth プロパティ)

ColumnWidth プロパティ ColumnWidth プロパティは、対象セ …