検索を繰り返す

検索を繰り返す

after = Find(keyword) //検索の返り値
FindNext(after) //次を検索:検索の返り値を引数にする
FindPrevious(after) //前を検索

検索を繰り返す

特定の範囲を検索する」で、検索の方法について説明しました。
この記事では複数検索にヒットする状況の場合の、繰り返し方法を説明します。

複数の検索条件に合致するセルがあった場合に、次のセル、次のセルと移動する処理を実現するためFindNextやFindPreviousを使います。

EXCEL = CREATEOLEOBJ("Excel.Application")
EXCEL.visible = True
EXCEL.workbooks.add()
FOR i = 0 TO 3
  EXCEL.ActiveCell.value = "a" + i
  EXCEL.ActiveCell.Offset(1,0).Select
NEXT
After = EXCEL.Range("A1:A10").Find("a")
EXCEL.Range("A1:A10").Find("a").Select
EXCEL.Range("A1:A10").FindNext(After).Select
EXCEL.Range("A1:A10").FindPrevious(After).Select

メッセージを出しながら検索を繰り返す

上記のスクリプトでは、一瞬のうちに処理が完了してしまうので、挙動しているのか確認が難しいです。
次のスクリプトで、メッセージによる処理のコメント、背景色の変更が行われるので、検索の繰り返しがわかりやすく確認できます。
スクリプトは下記のようになります。


続きは、ログインもしくは、登録してください



このページの先頭へ