2016-08-25 8 views
1
Private Sub ROLparameter_Click() 
Line1: RolLow = InputBox("Please enter the lower bound percentage for ROL calculation between 0 and 100 (initially " & RolLow * 100 & "%):") 

If Not 0 <= RolLow <= 100 Then GoTo Line1 
End If 

End Sub 

私はユーザフォームボタンを持っていますが、これを押すとこのサブフォームに入ります。問題は "if if without if"というエラーが発生することです。私は最後のifを削除すると、それは不思議に動作します。VBAユーザーフォームは機能を認識しませんか?

など。

ユーザーが80を入力するとRolLowの値が「80」と認識されます。それがend subに向かわない場合、私は "if"だけを使うと、常に1行目に向かいます。値のチェックがありません。

このコードは通常、モジュールで動作します。

何が問題なのですか?

(変数は潜水艦の前に国民に定義されています)

(私もmodule.variableの事を試してみました)

+0

より大きい –

答えて

0

これは、あなたが実行しようとしているコードです: ユーザーが0よりも小さい値を入力した場合または100は、InputBox関数バックに行く

Private Sub ROLparameter_Click() 

Line1: Rollow = CLng(InputBox("Please enter the lower bound percentage for ROL calculation between 0 and 100 (initially " & Rollow * 100 & "%):")) 

If Not ((0 <= Rollow) And (Rollow <= 100)) Then 
    GoTo Line1 
End If 

End Sub 
+0

どうもありがとう下記の私の答えのコードを試してみてください! CLngとは何ですか?私は学びたい:) – hakandeep

+0

'CLng'は、(Stringとして受け取った)入力をLongに変換し、小さな値にしたい場合は'CInt'も使うことができます –

+0

もう一度ありがとうございます! – hakandeep

関連する問題