入力された文字が半角の数字かどうかをボタンを押して確認したいんですけど、これよりもっと簡単なやり方を教えてほしいです。
For LngSU = 1 To Len(Me.txtInput.Text)
If Not Mid(Me.txtInput.Text, LngSU, 1) Like "[0-9]" Then
Call MsgBox("半角数字で入力して下さい", vbOKOnly, "入力エラー")
Me.txtInput.SetFocus
GoTo lblExit
End If
Next LngSU
こんな回りくどいやり方しかわからなかったんですけど、関数をつかって半角の数字かどうかを確認させる処理はどう書けばいいんでしょうか?
よろしくお願いします。
そんなに回りくどいとは思いません。
あとは標準モジュールへ記述して関数を共有すれば良いのでは?
その際、
>Call MsgBox("半角数字で入力して下さい", vbOKOnly, "入力エラー")
>Me.txtInput.SetFocus
>GoTo lblExit
などの記述は、関数のリターン値で判断してみてください。
1文字づつチェックするのが、回りくどいと思うのなら
こんな方法もあります。
If IsNumeric(Me.txtInput.Text) = True And _
Me.txtInput.Text = StrConv(Me.txtInput.Text, vbNarrow) Then
Else
Call MsgBox("半角数字で入力して下さい", vbOKOnly, "入力エラー")
Me.txtInput.SetFocus
End If
1文字づつチェックするのが、回りくどいと思うのなら
こんな方法もあります。(さっくり文章をぱくってみるm(_._)m)
If Me.txtInput.Text Like "*[!0-9]*" Then
Call MsgBox("半角数字で入力して下さい", vbOKOnly, "入力エラー")
>IsNumeric
>
条件によってd, e, -, +, .とか通ってしまいますので注意が必要です。
皆さんのすばやい回答にとても感謝してます。無事できました。ありがとうございます。
ツイート | ![]() |