Access VBA で質問をさせてください。以下のようなものを作成したのですが、戻り値が帰ってきていないようなのですが、どう記述すればいかわかりましたら教えていただきたいと思います。


以下はフォームを作成し、テキストフィールドでサイズ1と係数という名前であります。サイズ1に数値を入れると、その数値に応じてFunction hyokaから、1や2などの評価数字を戻り値として設定し、サイズ1用のsize_hといった変数に入れておきたいと思っているのですが、以下のように記述し、最後にsize_hに対して、MsgBoxを入れても何も数字が入っていない状態になってしまいます。


Private Sub 係数_GotFocus()
Dim size1 As Long
size1 = サイズ1.Value
size1_h = hyoka(size1)
Msgbox(size1_h)

End Sub

Function hyoka(num As Long) As Integer
If num > 0 And num <= 10 Then
1
ElseIf num > 10 And num <= 20 Then
2
End If
End Function

回答の条件
  • URL必須
  • 1人1回まで
  • 13歳以上
  • 登録:2010/11/29 08:12:39
  • 終了:2010/11/30 08:52:05

回答(3件)

id:takejin No.1

たけじん回答回数1464ベストアンサー獲得回数1892010/11/29 09:10:28

ポイント35pt

関数hyoka()に数値が入ってません。

Function hyoka(num As Long) As Integer

If num > 0 And num <= 10 Then

hyoka=1

ElseIf num > 10 And num <= 20 Then

hyoka=2

End If

End Function


http://q.hatena.ne.jp

id:hiro_tt55

ありがとうございます。…使い方を勘違いしていたみたいです。無事数値が出てきました。ありがとうございます。助かりました。

2010/11/30 08:50:35
id:frkw2004 No.2

ふるるP回答回数192ベストアンサー獲得回数212010/11/29 15:41:46

ポイント35pt

>Function hyoka(num As Long) As Integer

>If num > 0 And num <= 10 Then

>1

>ElseIf num > 10 And num <= 20 Then

>2

>End If

>End Function

1とか2とかの数値だけの行だと、コンパイルは通るけど、行番号の割り当てだけで処理がないですね。次のようにするといいでしょう。

Function hyoka(num As Long) As Integer

If num > 0 And num <= 10 Then

hyoka=1

ElseIf num > 10 And num <= 20 Then

hyoka=2

End If

End Function

Functionの場合、戻り値を設定するには、

 関数名=○○

のようにする必要があります。

URLはダミーです。

http://Answer.url

id:hiro_tt55

Functionの場合、戻り値を設定するには…の部分そうなんですね。ありがとうございます。助かりましたありがとうございます。

2010/11/30 08:51:48

質問者が未読の回答一覧

 回答者回答受取ベストアンサー回答時間
1 xatosi 9 8 0 2010-11-30 01:06:53

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません