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

  関連記事

現在選択されているセルを参照(RangeSelection プロパティ)

RangeSelection プロパティ 実際に何が選択されているかにかかわらず …

セルを参照する(Range プロパティ)

Range プロパティ 任意のセルにアクセスするには Range プロパティを使 …

セルを削除する(Delete メソッド)

Delete メソッド Delete メソッドで、指定したセル・セル範囲を削除し …

Height プロパティ Width プロパティ 例
セルの高さ・幅を取得(Height プロパティ・Width プロパティ)

Height プロパティ・Width プロパティ Height プロパティは、指 …

数式を設定・取得する(Formula プロパティ・FormulaR1C1 プロパティ)

Formula プロパティ(FormulaR1C1 プロパティ) Formula …

VerticalAlignment プロパティ 例01
文字列の縦位置を取得・設定する(VerticalAlignment プロパティ)

VerticalAlignment プロパティ VerticalAlignmen …

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

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

対象のセルが配列数式の一部かどうか(HasArray プロパティ)

HasArray プロパティ HasArray プロパティは、対象のセルが配列数 …

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

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

セルに値を設定する・セルの値を参照する(Value プロパティ)

Value プロパティ Value プロパティは、セルの値を取得したり、値を設定 …