このサイトの記事内では「アフィリエイト広告」などの広告を掲載している場合があります。
消費者庁が問題としている「誇大な宣伝や表現」とならないよう配慮しコンテンツを制作しておりますのでご安心ください。
問題のある表現が見つかりましたらお問い合わせよりご一報いただけますと幸いです。

【VBA】指定した文字列を含む数を調べる方法(Len,Replace)

2024年9月29日

「すもももももももものうち」の中に「も」が何個含まれるか調べたい。

今回はこんなときに使えるVBAコードを紹介します。

抽象的にいうと、ある文字列の中に指定した文字列が何個含まれるか調べる方法となります。

汎用的なFunctionプロシージャにしたので、ぜひ活用してみてください。

VBAが難しいと感じたら
ココナラにてVBAの作成依頼を受け付けています。
ご依頼・ご相談はこちらから

指定した文字列を含む数を調べる方法(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型で文字列の数を返してくれます。

一度、デバッグ実行して動きを確認してみてください。

《VBA上級者になりたい人へ》
VBA上級者を目指したい人にはパーフェクトExcel VBA一択です。
この本を読み切れば間違いなくVBA上級者になれます。

created by Rinker
技術評論社
¥3,608 (2024/12/02 20:25:22時点 Amazon調べ-詳細)
VBAが難しいと感じたら
ココナラにてVBAの作成依頼を受け付けています。
ご依頼・ご相談はこちらから

VBA

Posted by やろまい