• ベストアンサー

テキストボックス単体で制御する方法

VB初心者です。 コマンドボタンを使わず、 テキストボックスに西暦年4桁を入力し、 不正な入力(範囲年以外、数字以外)の場合はエラーを返す、 と言うものを作成する場合は、 どのようにすれば良いのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • haporun
  • ベストアンサー率40% (230/562)
回答No.1

Text1_Changeイベントを使いましょう。 Private Sub Text1_Change() If Not IsNumeric(Text1.Text) Then Text1.Text = 1900 Text1.SelStart = 0 Text1.SelLength = 4 End If If Text1.Text < 0 Then Text1.Text = "0" Text1.SelStart = 0 Text1.SelLength = 1 End If If Text1.Text > 2100 Then Text1.Text = "2100" Text1.SelStart = 0 Text1.SelLength = 4 End If End Sub ってなかんじで。 警告文を表示したければIfのなかにMsgBoxでも入れましょう。 でも、たぶんうるさいですよ。 こういうのは何も言わずに修正するのが吉です。

su-ta
質問者

お礼

ありがとうございました。 参考になりました!

関連するQ&A