投稿者 葉月  (社会人) 投稿日時 2009/3/21 14:04:06
実行時の問題も含めて、2点のエラーがあります。

①エラーの原因ですが、inputboxの入力は括弧を使って閉じなければいけません。
inputbox("予想は?")

②inputboxからの戻り値は文字列のため数値の比較はできません。
CIntを使って文字列を数値に変換する必要があります。

②に関しては、言ってる意味がわからないかも知れません。
一見、エラーが出ずに動いてしまうため性質が悪いです。
正常動作を確認したら、CIntを使わず動きを確認してください。

それから、If文で比較するときは値がわかるように記述した方が問題点を見つけやすいです。
正解!や不正解!の文章に加えて、Randomizeで取得した値も表示するといいです。

最後にサンプルコードを掲載します。
疑問点がありましたらレスをください。


'サンプルコード 
Option Explicit

Randomize

' 乱数を比較 
Dim rand
rand = int(rnd*2) + 1

MsgBox "1~2までの数を入力してね"

' チェックボックスの入力 
Dim strInput
strInput = inputbox("予想は?")

' randの値を比較 
Dim iCheck
iCheck = CInt(strInput)

If rand = iCheck Then
   MsgBox "乱数:" & rand & " " & "正解!:" & iCheck
Else
   MsgBox "乱数:" & rand & " " & "不正解!:" & iCheck
End If