本記事は、Excel C# Script入門講座の1記事です。
検索
シート内で文字列を検索するは、下記記事で解説したようにRangeオブジェクトのFindメソッドを使用します。
連続して検索する(検索条件に一致する箇所を次々に見つけたい)場合には、Findメソッドを用いた後、FindNextメソッドを使用します。
FindNextメソッドは、Findメソッド使用時の検索条件はそのままに前方向に検索を行います。
なお、FindPreviousメソッドを用いると、後ろ方向に検索を行います。
FindNextメソッドの構文
(Rangeオブジェクト).FindNext(After)
FindNextメソッドの引数
引数名 | 必須 / オプション | 内容 |
---|---|---|
After | 省略可能 | 検索を開始する1つ前のセルを指定します。 |
サンプルコード
以下の例では、セル範囲 A1:A500 で、値に 2 が含まれているセルを検索し、その値を 5 に変更します。
var range = Excel.Worksheets(1).Range("a1:a500"); var hitCell = range.Find(2, LookIn:-4163); if (hitCell != null) { var firstAddress = hitCell.Address; do { hitCell.Value = 5; hitCell = range.FindNext(hitCell); } while (hitCell != null && hitCell.Address == firstAddress) }