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

【VBA入門】afterで開始位置の指定の仕方

【VBA入門】
Pocket

VBAで検索の開始位置を指定する方法についてご説明します。
通常findではシートの始め(A1セル)から検索を開始しますが、引数Afterで開始位置を指定することもできます。
それでは、実際のコードの書き方について確認していきましょう。

引数afterを使用した検索位置の指定

<コード>
Cells.Find(after:=Range(“A7″), what:=”国語”).Select
‘A7セルの次のセルを始点として『国語』という語を検索’

<実行例>

例では1年生のセルを飛ばして2年生のセルから“国語”を検索しています。
ちなみにAfterで指定したセルの次のセルから検索を開始している点に注意しましょう。

引数Afterにセルを設定する場合の注意点

Afterには必ずセル1つを指定します。『After:=ActiveCell』とすると選択中のセルが指定されます。
また、Rangeで任意のセルを指定することもできます。そしてRangeでは次の様に複数のセルを指定することができるのですが、
Afterで使用する場合は1つのセルにしないと実行時エラーが発生します。
<コード>
Cells.Find(After:=Range(“A1:C3″), What:=”国語”).Select
‘A1からC3までの複数のセルを指定’

<エラー例>

Afterの検索の仕組み

次のコードを実行すると、3年生のセルから“算数”を選択したにもかかわらず1年生のセルが選択されてしまいます。
これはAfterで指定したセルの次のセルから検索を開始し、シートの終端まで検索語がヒットしなかった場合は
シートの最初に戻ってセルまで検索するという仕組みによるものです。
<コード>
Cells.Find(After:=Range(“A8″), What:=”算数”).Select

<実行例>

おわりに

Afterで検索の開始位置を指定すると、不要な検索をカットして効率的に検索を行うことができます。
シート全体の構成を確認し、適切にAfterを設定するようにしましょう。

投稿者:プロスタ編集部

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

おすすめスクール

全国30校舎で展開されるヒューマンアカデミーのWeb講座は修了者数4万人超、講師とカリキュラムの満足度がどちらも9割を超えています。就職や転職に必要なレベルの実務スキルを身に付けられます。

WebCampは、一ヶ月の短期集中でWebデザイン、プログラミングスキルを習得するスクールです。学習効果の高い反転授業(自主学習でインプット、講義でアウトプット)を採用し、年間1000名を輩出しています。

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

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

あわせて読みたい

関連記事

イチ押しランキング

1リナックスアカデミー

リナックスアカデミー

2システムアーキテクチュアナレッジ

システムアーキテクチュアナレッジ

3WEB塾

WEB塾

メールマガジン

ページ上部へ戻る