2017-10-25 18 views
3

文字列内に文字の出現回数を取得しようとしています。それはうまくいくはずですが、そうではありません。Excelの分割機能が動作しません

Function countLetter(letter As String, secretWord As String) 
    MsgBox (Split(secretWord, letter).Length) 
    countLetter = Split(secretWord, letter).Length - 1 
End Function 

ここで何が間違っていますか?

答えて

7

Splitには、.Lengthというプロパティがありません。配列内の要素の0から始まるカウントにはUBoundを使用します。

Function countLetter(letter As String, secretWord As String) 
    MsgBox UBound(Split(secretWord, letter)) + 1 
    countLetter = UBound(Split(secretWord, letter)) 
End Function 
+0

ありがとうございます!出来た。 – Ans

+1

@Ansは分割とは無関係ですが、 'MsgBox'関数に渡される' Message'引数の周りにかっこがないことに気付きます。ローカル変数に戻り値を取り込まずにプロシージャを呼び出すときは、引数のまわりにカッコを付けてはいけません。 **これはあなたにいつか問題を引き起こすでしょう。 –

関連する問題