【VBA】指定した文字列を含む数を調べる方法(Len,Replace)
「すもももももももものうち」の中に「も」が何個含まれるか調べたい。
今回はこんなときに使えるVBAコードを紹介します。
抽象的にいうと、ある文字列の中に指定した文字列が何個含まれるか調べる方法となります。
汎用的なFunctionプロシージャにしたので、ぜひ活用してみてください。
指定した文字列を含む数を調べる方法(Len,Replace)
Function CharCount(str As String, chr As String) As Long
'''str内にchrが何個あるかカウントして返す
CharCount = Len(str) - Len(Replace(str, chr, ""))
End Function
Sub UseSample()
Debug.Print CharCount("すもももももももものうち", "も") '8
End Sub
CharCountが文字列が何個含まれるか調べるFunctionプロシージャとなります。
このプロシージャはLen関数とReplace関数でシンプルに作っています。
具体的には、Replace関数で指定した文字列を削除して、元の文字列との長さの差を計算させています。
下のUseSampleがFunctionプロシージャを呼び出す使用例です。
CharCount(指定した文字列, 数えたい文字列)とすれば、Long型で文字列の数を返してくれます。
一度、デバッグ実行して動きを確認してみてください。