• ベストアンサー

Excel2010VBAの数値判定、桁数

Excel2010VBAの数値判定で、例えば「TextBox1」で、西暦の年数が入ります。 「TextBox1」の桁数が4桁をチェックしたい場合(4桁しか入力してはいけない場合)どうすればよいでしょうか?ただし、1桁目の数値は0ではいけません。 例: 0123・・・× 2014・・・○ 回答よろしくお願いします。

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

  • ベストアンサー
  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.1

UserFormのTextBoxでしょうか。 テキストボックスのExitイベントに記述するなら、下記でいかがでしょうか。 Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If Not IsNumeric(Me.TextBox1.Value) Then MsgBox "4桁の数値を入力して下さい" Cancel = True ElseIf CLng(Me.TextBox1.Value) > 9999 Or CLng(Me.TextBox1.Value) < 1000 Then MsgBox "4桁の数値を入力して下さい" Cancel = True End If End Sub 1000年から9999年まで入力できてしまいますので、お望みの範囲にアレンジして下さい。

miya_HN
質問者

お礼

回答ありがとうございます。 ユーザーフォームのテキストボックスです。説明不足ですいません。 IsNumericで数値判定、CLngの部分が1000~9999の数値入力が可能ということですね。 大変助かります。 ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A