今だけ人気マンガ100円レンタル特集♪

英単語について文字ごとに点数を設定し、その単語が何点になるか計算する関数を作ろうとしています。以下の通り書いたのですが、セルを指定しても=wscore("apple")と指定しても#Name?エラーが返ってきます。どうしてでしょうか?
エクセル2003です。よろしくお願いいたします。

Public Function Wscore(w As String) As Integer

Dim i, s As Integer
Dim wd, ws As String

'入力文字列を大文字に変換
wd = LCase(w)

'文字数(ループ回数)を取得
For i = 1 To Len(wd)

'i番目の文字を取得
ws = Mid(wd, i, 1)

'点数を検索
Select Case ws
Case "a", "e", "i", "l", "n", "o", "r", "s", "t", "u"
s = 1
Case "d", "g"
s = 2
Case "b", "c", "m", "p"
s = 3
Case "f", "h", "t", "v", "w"
s = 4
Case "k"
s = 5
Case "j", "x"
s = 8
Case "q", "z"
s = 10
End Select

'得点に足す
Wscore = Wscore + s

'次の処理へ
Next i

End Function

質問者からの補足コメント

  • '入力文字列を大文字に変換、は本来なら'入力文字列を小文字に変換ですね。コメントの編集ミスです。

      補足日時:2019/07/18 20:47

A 回答 (1件)

これは、標準モジュールへ登録しないといけません。


標準モジュールへ登録されましたか?
    • good
    • 0
この回答へのお礼

シートにはりつけてました。標準モジュールを作ってそこに貼り付けたら動きました。そこだったんですね。ありがとうございました。

お礼日時:2019/07/18 23:06

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


人気Q&Aランキング