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

「数億規模スタートアップのCTO講師」と「エンジニアキャリア専門のポテパン」が贈る、実践型Rubyスクール。

【VBA入門】配列の内容を検索する方法

【VBA入門】
Pocket

VBAで配列の内容を検索する方法についてご説明します。
配列内で該当する条件のデータを探す場合はループ処理で1つずつデータを確認する方法と
Filter関数を使用する方法があります。それでは、詳しい手順について確認してみましょう。

ループ処理で配列を検索する方法

<コード>

<実行例>

例では配列をループ処理で一つずつチェックし、If文の条件と当てはまる文字列が見つかったらメッセージを表示しています。
ちなみにこのコードでは検索条件にヒットした最初の1件でループ処理を中断していますが、
Exit Forを削除すると配列の最後まで検索を継続することができます。

Filter関数を使用して配列を検索する方法

Filter関数は1つ目の引数で指定した配列について、2つ目の引数で指定した文字列が含まれる要素を配列にして戻り値として返します。
というわけで、戻り値は配列を格納することができるバリアント型の変数で取得します。
また検索条件に当てはまるデータが無い場合は戻り値の配列に値が格納されていないため、UBound関数で要素数の最大値を調べると-1を返します。

<コード>

<実行例>

検索条件を変えた場合(一致するデータなし)

<コード>

<実行例>

まとめ

Filterは配列の検索条件に一致したデータを一気に配列で返してくれるという点が便利ですが、複雑な条件の検索には不向きです。
複数の条件を組み合わせた検索を行いたい場合はIf文やAND、OR等を使用してループ処理でデータを検索するようにしましょう。

投稿者:プロスタ編集部

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

初心者がプログラミングで挫折しない学習方法を無料動画で公開中。オンラインに特化したプログラミングスクール「TechAcademy(テックアカデミー)」が解説。

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

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

あわせて読みたい

関連記事

ページ上部へ戻る