EXCELでの検索マクロ

ワークシート上でセルを検索するには、Findステートメントを使います。Findステートメントの構文は次の通りです。

expression.Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)

引数の中で最も重要なのは[What]です。引数[What]には、検索する文字列を指定します。さて引数ではありませんが、expressionには検索するセル範囲を指定します。上の操作で記録されたコードは、Cells.Findとなっていました。Cellsはワークシート上の全セルを表しますので、ワークシート全体が検索の対象になりました。たとえば上の図で、Range(“A1:B8″).Find(What:=”土屋”)のように書くと、「土屋」はRange(“A1:B8”)に含まれませんので見つかりません。

その他の引数をまとめて解説します。

[After]…ここに指定したセルの次から検索を開始します。省略するとexpressionの左上セルを指定したことになります。
[LookIn]…検索する対象を指定します。
  xlFormulas:数式
  xlValues:値(文字列、数値)
  xlComments:コメント
[LookAt]…完全一致検索をするかどうか指定します。
  LookAt:=xlWhole  完全一致
  LookAt:=xlPart   部分一致
[SearchOrder]…検索の方向を指定します。
  xlByColumns:列方向
  xlByRows:行方向
[SearchDirection]…検索の向きを指定します。既定の定数は xlNext です。
  xlNext:後方検索
  xlPrevious:前方検
[MatchCase]…大文字と小文字を区別して検索するかどうかを指定します。
  大文字と小文字を区別するには、True を指定します。既定値は False です。
[MatchByte]…半角文字と全角文字を区別して検索するかどうかを指定します。
  半角と全角を区別するには、True を指定します。区別しないようにするには、False を指定します。
[SearchFormat]…書式を検索の条件に含めるかどうかを指定します。

引数[SearchFormat]は、Excel 2002以降で使用できます。



コメントを残す

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