2017-02-01 7 views
-1

ここに私のコード全体があります。私はランタイムエラー13を得て、どんな助けも高く評価されます。VBAでランタイムエラー13をデバッグする方法は?

Private Sub Button_Clear_Click() 
    Input_Wager.Text = "0" 
End Sub 

コマンドボタンはテキストボックスInput_Wagerが空の場合、それはメッセージが表示されることを押されたときに以下のセクションでは、私は、希望は、それ以外の場合は、elseif

Private Sub Button_Submit_Click() 
    If Me.Input_Wager.Text = "" Then 
     MsgBox ("Display") 
    ElseIf Me.Input_Wager.Text <> "" Then 
     TextBox2.Text = "$" & (Me.Input_Wager * 35) 
     TextBox3.Text = "$" & (Me.Input_Wager * 17) 
     TextBox4.Text = "$" & (Me.Input_Wager * 8) 
     TextBox5.Text = "$" & (Me.Input_Wager * 11) 
     TextBox6.Text = "$" & (Me.Input_Wager * 6) 
     TextBox7.Text = "$" & (Me.Input_Wager * 5) 
     TextBox8.Text = "$" & (Me.Input_Wager * 11) 
     TextBox9.Text = "$" & (Me.Input_Wager * 17) 
     TextBox10.Text = "$" & (Me.Input_Wager * 2) 
     TextBox11.Text = "$" & (Me.Input_Wager * 2) 
     TextBox12.Text = "$" & (Me.Input_Wager * 1) 
     TextBox13.Text = "$" & (Me.Input_Wager * 1) 
     TextBox14.Text = "$" & (Me.Input_Wager * 1) 
     TextBox15.Text = "$" & (Me.Input_Wager * 1) 
     TextBox16.Text = "$" & (Me.Input_Wager * 1) 
     TextBox17.Text = "$" & (Me.Input_Wager * 1) 
    End If 
End Sub 
+0

文字列と整数を連結するという問題はありますか? –

+0

ランタイムエラー13は、[種類の不一致](https://msdn.microsoft.com/en-us/library/aa264979(v=60).aspx)を意味します。したがって、間違ったタイプのオブジェクトで操作しています。たとえば、コントロールに35を掛ける理由は何ですか?あなたは、コントロールではなく、数字を乗算します。 –

+0

明らかに、 'Input_Wager'の内容は暗黙的に数値として解析できません。 – GSerg

答えて

-1

として計算を開始します@Andrewと@Raymondは、Integerでコントロール/オブジェクトを乗算しようとしているため、型の不一致エラーが発生していると言いました。それは整数よりも何かを受け付けさせないことで、これを行う - - Input_Wagerの値が整数ではなく文字列であるかどうかを確認するために

まずチェック

Private Sub Input_Wager_KeyPress(sender As Object, e As KeyPressEventArgs) Handles Input_Wager.KeyPress 

    If Not Char.IsNumber(e.KeyChar) AndAlso Not Char.IsControl(e.KeyChar) Then 
     e.KeyChar = "" 
    End If 
End Sub 

今、あなたはそれが整数値を持って知っていることあなたの乗算ラインをこれに変更してください。

TextBox2.Text = "$" & (Me.Input_Wager.Text * 35) 
+0

OPはVBAを使用しています。これは、フィールドを数値に制限するための良い方法ではありません(貼り付けられた値は処理されません)。 OPがVB.NETを使用していた場合、より良いアプローチは「Integer.TryParse」です。 – GSerg

関連する問題