2016-08-30 11 views
0

ここに私のコードがあります。セルB7:C8はその範囲の値を出力します。これはTextBoxです。値を入力したい場合は、コードに応じての範囲B7:C8に数値を表示します。私が最後の行に行ったエラーは、VBAシンプルな入力用のコードとElseIFを使用した表示

エラー438 "オブジェクトはこのプロパティまたはメソッドをサポートしていません"です。

Private Sub TextBox21_Change() 

Dim Agevar As Integer 

If Agevar >= 40 And Agevar <= 45 Then 
    Worksheets("Scorecard").Range("B7:c8").Values = 4 
ElseIf Agevar >= 60 Then 
    Worksheets("Scorecard").Range("b7:c8").Values = 3 
ElseIf Agevar >= 30 And Agevar <= 40 Then 
    Worksheets("Scorecard").Range("b7:c8").Values = 2 
Else 
    Worksheets("Scorecard").Range("b7:c8").Values = 1 
End If 

End Sub 
+1

「Range」には「Values」という名前のメンバーはありません。あなたは '価値'を意味しましたか? – jsheeran

+0

ポイント・アウトのためにちょっと待ってください。しかし、問題は、私が範囲内のnoを自動的に反映しないテキストボックスでnoをタイプしているときです。テキストボックスに入力すると自動的に表示させるにはどうすればいいですか? –

+0

jsheeran私はUのコードを取ったが、いずれの場合でも答えは1です。私は他の答えを得ていません。また、テキストボックスで入力値を変更すると自動的に答えを変更する方法もありますか? –

答えて

1

私はあなたがテキストボックスに入力した値を表している必要がありますAgevarを推測していますか?

  • あなたのIF文の前にこれを追加します。
    Agevar = Me.TextBox21.Value - それはエラーがスローされます - これは決してあなたはボックスに正しい値を置くことを確認するチェックありません(変数にテキストボックスから値を配置します文字を入力するか、ボックスからすべての値を削除してください)。

  • sを値から削除してください - Value @jsheeranがコメントしました。

  • マージされたセルの最初のセル(Range(B7))のみを参照してください。

関連する問題