Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


13299 / 13644 ツリー ←次へ | 前へ→

【6078】テキストボックスの条件指定 nobi 03/6/16(月) 0:16 質問
【6081】Re:テキストボックスの条件指定 ぴかる 03/6/16(月) 9:25 回答
【6084】Re:テキストボックスの条件指定 nobi 03/6/16(月) 11:55 お礼

【6078】テキストボックスの条件指定
質問  nobi  - 03/6/16(月) 0:16 -

引用なし
パスワード
   初心者でどのように記述したらいいのか分からなくて質問します。
オプションボタンAとBと、テキストボックスが1つあります。
Aを選んだときにはテキストボックスには0から100までの数値を、
Bを選んだときにはテキストボックスには101から200までの数値を
入力するようにしたいのです。
それぞれのオプションボタンを選んだときに
範囲外の数値がテキストボックスに入力されると間違っているというメッセージを出すにはどのようにしたらいいのでしょうか。

【6081】Re:テキストボックスの条件指定
回答  ぴかる  - 03/6/16(月) 9:25 -

引用なし
パスワード
   nobiさん、こんにちは。

こんな感じでどうです?。お試し下さい。

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  
  If KeyCode = vbKeyReturn Then
    If OptionButtonA = True Then
      If TextBox1.Value > 100 Then
        MsgBox "Aを選んだ時は、0〜100だよ!"
        KeyCode = 0
        With TextBox1
          .SelStart = 0
          .SelLength = Len(.Value)
        End With
      End If
    ElseIf OptionButtonB = True Then
      If (TextBox1.Value < 101) Or (TextBox1.Value > 200) Then
        MsgBox "Bを選んだ時は、101〜200だよ!"
        KeyCode = 0
        With TextBox1
          .SelStart = 0
          .SelLength = Len(.Value)
        End With
      End If
    End If
  End If
  
End Sub

【6084】Re:テキストボックスの条件指定
お礼  nobi  - 03/6/16(月) 11:55 -

引用なし
パスワード
   自分の望んでいたものができました!!
ぴかるさんありがとうございました。

>nobiさん、こんにちは。
>
>こんな感じでどうです?。お試し下さい。
>
>Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
>  
>  If KeyCode = vbKeyReturn Then
>    If OptionButtonA = True Then
>      If TextBox1.Value > 100 Then
>        MsgBox "Aを選んだ時は、0〜100だよ!"
>        KeyCode = 0
>        With TextBox1
>          .SelStart = 0
>          .SelLength = Len(.Value)
>        End With
>      End If
>    ElseIf OptionButtonB = True Then
>      If (TextBox1.Value < 101) Or (TextBox1.Value > 200) Then
>        MsgBox "Bを選んだ時は、101〜200だよ!"
>        KeyCode = 0
>        With TextBox1
>          .SelStart = 0
>          .SelLength = Len(.Value)
>        End With
>      End If
>    End If
>  End If
>  
>End Sub

13299 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free