半角数字を見分けるには?

解決


MANA  2006-01-23 20:04:55  No: 129744

入力された文字が半角の数字かどうかをボタンを押して確認したいんですけど、これよりもっと簡単なやり方を教えてほしいです。

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

こんな回りくどいやり方しかわからなかったんですけど、関数をつかって半角の数字かどうかを確認させる処理はどう書けばいいんでしょうか?
よろしくお願いします。


コボル  2006-01-23 21:50:49  No: 129745

そんなに回りくどいとは思いません。
あとは標準モジュールへ記述して関数を共有すれば良いのでは?
その際、
>Call MsgBox("半角数字で入力して下さい", vbOKOnly, "入力エラー")
>Me.txtInput.SetFocus
>GoTo lblExit
などの記述は、関数のリターン値で判断してみてください。


LESIA  2006-01-23 21:56:50  No: 129746

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


GOD  2006-01-23 22:20:08  No: 129747

1文字づつチェックするのが、回りくどいと思うのなら
こんな方法もあります。(さっくり文章をぱくってみるm(_._)m)
If Me.txtInput.Text Like "*[!0-9]*" Then
    Call MsgBox("半角数字で入力して下さい", vbOKOnly, "入力エラー")

>IsNumeric
>
条件によってd, e, -, +, .とか通ってしまいますので注意が必要です。


MANA  2006-01-23 22:35:14  No: 129748

皆さんのすばやい回答にとても感謝してます。無事できました。ありがとうございます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加