VBAでFind関数を使う方法(6つの例)

  • これを共有
Hugh West

で使用する最も重要で広く使われている関数の1つです。 ビジュアルベーシックアプリケーション(VBA) は、Find関数です。 今回は、Find関数を使った FIND機能 を、適切な例と図解で紹介します。

練習用ワークブックをダウンロードする

ExcelのVBAで関数を検索する.xlsm

VBAでFIND関数を使用する6つの簡単な例

ここでは、データセットに 書名・著者名 価格 マーティン書店という本屋さんの何冊かの本のうち

本日の目的は、様々なタイプの使用法を見ることです。 ファインド機能 ブイビーエー このデータセットから

1.VBAでパラメータを指定せずに検索関数を使用する

を使用することができます。 ファインド機能 ブイビーエー をパラメータ無しで実行します。

そして、セルの範囲内で特定の値を検索し、最初に見つかったマッチを返します。

名前を検索してみよう "P.B.シェリー" 欄外 著者名 ( C4:C13 ).

のあるラインは ファインド機能 になります。

セットセル = Range("C4:C17").Find("P. B. Shelly")

完全な VBAコード になります。

VBAのコードです。

 Sub Find() Set cell = Range("C4:C17").Find("P. B. Shelly") MsgBox cell.Address End Sub 

出力します。

を演出しています。 マクロ っていう 探す マクロを実行すると、次のような結果が得られます。 $C$6 という名前を持つ最初のセルアドレス P.B.シェリー .

続きを読む ExcelのVBAで範囲検索:完全一致と部分一致を含む

2.VBAでAfterパラメータを指定して検索関数を適用する(特定のセルから検索を開始する場合)

を使用することができます。 パラメータを ファインド機能 において ブイビーエー そして、ある範囲内のセル以下から値を探し始めます。

例えば、次のような名前で検索を開始してみましょう。 "P.B.シェリー" 下細胞から C6 .

という行になります。

Set cell = Range("C4:C13").Find("P. B. Shelly", After:=Range("C6"))。

そして、コンプリート VBAコード になります。

VBAコードです。

 Sub Find() Set cell = Range("C4:C13").Find("P. B. Shelly", After:=Range("C6")) MsgBox cell.Address End Sub 

出力します。

を返すことになります。 $C$13 は、セルの下から検索を開始するため C6 セルからです C7 だから P.B.シェリー 細胞内 C13 を最初に選択します。

続きを読む ExcelのVBAを使用してセル内の文字列を検索する方法

3.VBAでAfterパラメータを折り返してFind関数を実行する(円を描くように値を検索する場合)

があります。 パラメータを ファインド機能 巡回検索

つまり、ある範囲内のセルの下から検索を開始し、範囲内の検索を終了し、再び範囲の上から検索を開始するのである。

たとえば、次のような名前で検索を開始してみましょう。 "ジョン・キーツ" 下細胞から C8 を使用しています。 パラメータを使用します。

という行になります。

Set cell = Range("C4:C13").Find("John Keats", After:=Range("C8"))

そして、コンプリート VBAコード になります。

VBAのコードです。

 Sub Find() Set cell = Range("C4:C13").Find("John Keats", After:=Range("C8")) MsgBox cell.Address End Sub 

出力します。

を返すことになります。 $C$7 は、セルの下から検索を開始するため C8 セルからです C9 .

セルまでは見つかりません C13 であるため、再びセル C4 で、セル C7 .

類似の読み物。

  • ExcelのVBAで文字列を検索する方法(8例)
  • ExcelのVBAを使った完全一致の検索(5つの方法)
  • VBAを使った検索と置換の方法(11の方法)

4.VBAでLookAtパラメータを使った検索関数を活用する(完全一致、部分一致の場合)

を使用することができます。 ファインド機能 において ブイビーエー とのことです。 ルックアット パラメータを使用します。

使用方法 LookAt = xlWhole に対して 正確 一致し LookAt=xlPart に対して 部分的 に匹敵する。

たとえば、次のような名前の本があるかどうか調べてみましょう。 「オード において 書籍名 列( B4:B13 ).

を使用する場合 xlWhole をコード行の中に入れてください。

Set cell = Range("B4:B13").Find("Ode", LookAt:=xlWhole)

が見つからないため、エラーが出力されます。 せいせい に匹敵する。

しかし、使用すれば。

Set cell = Range("B4:B13").Find("Ode", LookAt:=xlPart)

そして、それは戻ってくる $B$9 という名前の本があるからです。 「オード セル内 B7 ナイチンゲール頌」。

の完全なコードは、このようになります。 パーシャル のマッチは。

VBAのコードです。

 Sub Find() Set cell = Range("B4:B13").Find("Ode", LookAt:=xlPart) MsgBox cell.Address End Sub 

5.VBAでSearchDirectionパラメータを使ってFind関数を操作する(検索方向を指定する場合)

を使用することもできます。 ファインド機能 において ブイビーエー とのことです。 検索方向 パラメータを使用します。

使用方法 サーチ方向 = xlNext からの検索用 上から下へ .

そして 検索方向 = xlPrevious からの検索用 ボトムトゥトップ .

例えば、Authorを検索してみましょう。 エリフ・シャファック 欄外 著者名 ( C4:C13 ).

を使用する場合 xlNext をコード行の中に入れてください。

Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlNext)

すると、次のように返されます。 $C$5 .

しかし、使用すれば。

Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlPrevious)を実行します。

そして、それは戻ってくる $C$11 .

から検索するための完全なコードというわけです。 下から上へ です。

VBAのコードです。

 Sub Find() Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlPrevious) MsgBox cell.Address End Sub 

6.VBAでMatchCaseパラメータを使った検索機能(大文字・小文字を区別して検索する場合)

最後に ファインド機能 とのことです。 マッチケース パラメータを使用します。

使用方法 MatchCase = True に対して ケースセンシティブ , MatchCase=False(マッチケース)。 に対して ケースインセンシティブ に匹敵する。

たとえば、次のような本を探してみましょう。 「母さん において 書籍名 列( B4:B13 ).

コードの行でTrueを使用すると

セットセル = Range("B4:B13").Find("mother", MatchCase:=True)

一致するものが見つからないため、出力にはエラーが表示されます。

しかし、使用すれば。

セットセル = Range("B4:B13").Find("mother", MatchCase:=False)

そして、それは戻ってくる $B$9 という本があるので "母" 細胞内 B8 .

の完全なコードは、このようになります。 ケースインセンシティブ のマッチは。

VBAコードです。

 Sub Find() Set cell = Range("B4:B13").Find("Mother", MatchCase:=False) MsgBox cell.Address End Sub 

結論

以上の方法で、Visual Basicアプリケーションで検索関数を使用することができます。 ご不明な点がございましたら、お気軽にお問い合わせください。

Hugh West は、業界で 10 年以上の経験を持つ、非常に経験豊富な Excel トレーナー兼アナリストです。彼は会計と財務の学士号と経営管理の修士号を取得しています。ヒューは教えることに情熱を持っており、理解しやすい独自の教育アプローチを開発しました。彼の Excel に関する専門知識は、世界中の何千人もの学生や専門家がスキルを向上させ、キャリアで優れた成果を上げるのに役立ってきました。 Hugh はブログを通じて知識を世界に共有し、個人や企業が潜在能力を最大限に発揮できるよう無料の Excel チュートリアルとオンライン トレーニングを提供しています。