電子書籍の厳選無料作品が豊富!

Sub test01()
Dim mystr As String

mystr = "a1a2a3"

Debug.Print WorksheetFunction.CountA(mystr, "a")

End Sub

のようなコードを作りました。
mystrの中に3つの「a」があります。

なので、CountA関数を使えば、3が返ると思ったのですが、2が返りました。
なぜ3ではなく2が返るのでしょうか?

CountA関数でなくてもいいので、
変数の中の特定の文字の出現回数を取得するコードを教えてください。

A 回答 (2件)

こんばんは!



確かにCOUNTA関数を使うと、「a」がいくつあっても「2」が返ってきますね。

Sub Sample1()
Dim mystr As String
mystr = "a1a2a3"
Debug.Print Len(mystr) - Len(Replace(mystr, "a", ""))
End Sub

のような感じではどうでしょうか?m(_ _)m
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2014/12/12 22:23

countAはそんなものを返す関数じゃないよ。


Debug.Print UBound(Split(mystr, "a"))
としてください。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2014/12/12 22:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!