VBA文字列内の特定の単語を検索するためのコードがあります。現在、私はINSTRを使用しています:VBA文字列内の特定の単語を検索する
tag1 = InStr(1, dish, keyword, vbTextCompare)
課題は、検索単語の文字列を比較していないということですが。 など。私は文字列のキーワードとして「卵」を探していた場合 - 茄子ピザ、それは真の値を返します。 egg "が文字列内に存在するかどうか検索するのが理想です。私は使用できるより良い機能はありますか?
VBA文字列内の特定の単語を検索するためのコードがあります。現在、私はINSTRを使用しています:VBA文字列内の特定の単語を検索する
tag1 = InStr(1, dish, keyword, vbTextCompare)
課題は、検索単語の文字列を比較していないということですが。 など。私は文字列のキーワードとして「卵」を探していた場合 - 茄子ピザ、それは真の値を返します。 egg "が文字列内に存在するかどうか検索するのが理想です。私は使用できるより良い機能はありますか?
正規表現を使用してVBAでこれを実現することもできます。
完全に一致するように強制する^と$演算子を特に検索します。
あなたのケースでは、^ Egg $のようなパターンがあなたが望むことをする必要があります。
はこの上でいくつかの良いヘルプはこちらをご覧ください: How to use Regular Expressions (Regex) in Microsoft Excel both in-cell and loops
上記の答えは正しい。私はそれの下でコメントすることはできません。それは1を返します。つまり、OPが見つけようとしていないEggのインスタンスを見つけます。 –
InStr
が移動するための方法です。文字列がテキストに何回存在するかを知るために、この1行のコードを使用することができます。ここで私はあなたの例を使用します。
Debug.Print UBound(Split("Eggplant Pizza", "Egg"))
コードケースは小文字を区別しないようにするには、あなたのコードモジュールの最上部にOption Compare Text
を置くことができます。
'.Find'?マクロを記録するか、stackoverflowを検索します。 –
あなたはGoogleを知っていますか!もしあなたが "非常に優れた単語を文字列で見つけたら" 3番目の結果はあなたの解決策を解決する可能性がありますhttp://stackoverflow.com/questions/28100969/excel-exact-word-matching – Fabrizio