1ヶ月でWebデザイン・プログラミングスキルをオーダーメイドのカリキュラムで学べるスクール、それがWebCamp。

子供の想像力を伸ばしアイデアを形にする小学生向けプログラミング教室「プロスタキッズ」

【VBA入門】findnextで条件に当てはまるセルを検索する方法

【VBA入門】
Pocket

検索条件に当てはまるセルが複数存在する場合はfindnextを使用します。
それでは、具体的なコードの書き方をご説明します。

Findnextを用いた複数検索

<解説>
FindnextはFindで実行した検索(3行目)を繰り返すコードです。
Find系の命令でNothingが返された場合は検索対象が無いという事なのでそのままコードを終了します。

そしてFindnextはDo~Loopで囲むことにより検索を繰り返すことができるようになります。
7行目のFindnextの次の括弧内に指定したセルの次のセルから検索を再開するので、
前回検索にヒットしたセルを指定しています。
また、Findnextで複数の検索対象にヒットした後、検索対象の終点に達するとまた最初に戻って検索を開始します。
つまり、最初に検索対象にヒットしたセルに再び戻った場合は一通り検索を終えたという事なので
While文の条件で検索終了としています。

まとめ

Findnextでは検索対象が複数存在する場合に検索を続行することができます。
シート内の検索対象をカウントしたりリストアップしたりしたい場合など応用範囲は広いですが、
検索終了のコードを入れないと延々と検索を続けてしまうので注意が必要です。
Findnextをループの処理と組み合わせてスマートにシートの情報を抽出してみましょう。

投稿者:プロスタ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

プログラミングで挫折しそうなら、現役エンジニアにマンツーマンで相談してみませんか?オンラインのプログラミングスクール「TechAcademy」のメンターが対応。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

ページ上部へ戻る