【EXCEL VBA】セルに入力された値を一覧表から探す方法

訪問して頂きありがとうございます。まさふくろーです。

この記事では使用例を使って、セルに入力された値を一覧表から探す方法をご紹介します。

使用例

  1. 「名前」を入力
  2. 「検索」ボタンをクリック
  3. 見つかったセルを選択し、セルの背景色をオレンジ色にする(見つからなかった場合は、メッセージを表示)

 

使用するメソッド

Findメソッド

Rangeオブジェクト.Find(What,[After],[LookIn],[LookAt],[SearchOrder],[SearchDirection],[MatchCase],[MatchByte],[SearchFormat])

解説 Rangeオブジェクトで指定したセル範囲から、引数で指定した条件にしたがってデータを検索し、検索結果のセルを表すRangeオブジェクトを返す。見つからなかった場合は、「Nothing」が返される。
引数LookIn、LookAt、SearchOrder、MatchCase、MatchByteの設定は、前回の検索時の設定を引き継ぐ。
引数 What:
検索する値を指定する。
After:
検索範囲内のセルを指定する。指定した次のセルから検索が開始され、指定したセルは最後に検索される。省略した場合は検索範囲の左上隅のセルから検索が開始される。
 LookIn:
検索対象(数式/値/コメント)を指定する。設定値は、下表参照。セルに数式が入力されている場合に、数式内の文字を検索するのか、数式の結果(値)を検索するのか、指定が必要になる。
設定値 内容
xlFormulas 数式
xlValues
xlComments コメント
LookAt:
検索方法(完全一致/部分一致)を指定する。設定値は、下表参照。完全一致の場合は、セル内のデータが引数Whatで指定した値に完全に一致するセルだけが検索される。部分一致の場合は、セル内のデータに引数Whatで指定した値を含むセルが検索される。
設定値 内容
xlWhole 完全一致
xlPart 部分一致
SearchOrder:
検索の順序(行方向/列方向)を指定する。設定値は下表参照。行方向の場合は1行分の検索が済んだ後で次の行に進み、列方向の場合は1列分の検索が済んだ後で次の列に進む。
設定値 内容
xlByRows 行方向
xlByColums 列方向
SearchDirection:
検索の方向(次へ/前へ)を指定する。設定値は下表参照。省略した場合は「次へ」となる。
設定値 内容
xlNext 次へ(上から下、左から右)
xlPrevious 前へ(下から上、右から左)
MatchCase:
アルファベットの大文字/小文字を区別して検索する場合は「True」、区別しない場合は「False」を指定する。
MatchByte:
文字の全角/半角を区別して検索する場合は「True」、区別しない場合は「False」を指定する。
SearchFormat:
書式の検索を行う場合は「True」、行わない場合は「False」を指定する。

Selectメソッド

Rangeオブジェクト.Select

解説 Rangeオブジェクトで指定したセルやセル範囲を選択する。

使用するプロパティ

ActiveCellプロパティ

Applicationオブジェクト.ActiveCell

解説 アクティブセルを参照するRangeオブジェクトを取得する。Applicationオブジェクトは省略できる。

Interiorプロパティ

Rangeオブジェクト.Interior

解説 セルの塗りつぶしを操作するためのInteriorオブジェクトを取得する。

Colorプロパティ

オブジェクト.Color

解説 セルの塗りつぶしの色や文字の色を取得/設定する。色は、RGB値を使用する。

RGBの値を調べる方法

セルの書式設定画面にて、①「塗りつぶし」タブをクリック⇒②「その他の色」ボタンをクリックします。

 

「ユーザー設定」タブをクリックすると、画面下に「赤(R)、緑(G)、青(B)」の値が表示されます。

 

ボタンの作成

「開発」タブの確認

リボンに「開発」タブが表示されているかの確認をします。

 

 

「開発」タブが表示されていない場合は、「開発タブの表示」をご覧ください。

ボタンの作成

①「開発」タブをクリック⇒②「挿入」をクリック⇒③「ボタン」をクリックします。

 

シート上にカーソルを移動し、ポインターを「+」の状態にします。

 

左クリックを押したまま、緑の矢印の方向にズルズルっとカーソルを移動します。

 

「マクロの登録」画面が表示されます。

 

①「マクロ名」を変更⇒②「新規作成」ボタンをクリックします。

 

ボタンの名前を変更する

エクセルのブックに戻り、ボタンの上にフォーカスを当てます。すると、ポインターが「」マークに切り替わります。

 

右クリックでショートカットメニューを表示し、「テキストの編集」を選択します。

 

ボタンの名前を変更します。

 

サンプルプログラム

VBAコードの入力

VBE(Visual Basic Editor)のピンク枠の部分に、VBAコードを入力していきます。

3 Range型の変数を宣言
5 「B3~B13」セルから「E3」セルの値を完全一致で検索し、変数に格納
7 検索した結果、見つからなかった場合は、
8 メッセージ「該当データがありません。」を表示する。
9 検索した結果、見つかった場合は、
10 セルを選択する。
12 選択したセルの背景色をオレンジ色にする。

VBAコードの保存

「ファイル」タブをクリックします。

 

 

「名前を付けて保存」を選択し、ファイル保存画面を起動します。

 

 

①ファイル名を入力⇒②「Excel マクロ有効ブック(*.xlsm)」を選択⇒③「保存」ボタンをクリックします。

 

最後まで読んでいただき、ありがとうございました!