目次
で使用する最も重要で広く使われている関数の1つです。 ビジュアルベーシックアプリケーション(VBA) は、Find関数です。 今回は、Find関数を使った FIND機能 を、適切な例と図解で紹介します。
練習用ワークブックをダウンロードする
ExcelのVBAで関数を検索する.xlsmVBAで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アプリケーションで検索関数を使用することができます。 ご不明な点がございましたら、お気軽にお問い合わせください。