- 日時: 2009/12/27 12:52
- 名前: 花ちゃん
- ***********************************************************************************
* カテゴリー:[テキストボックス][基本コード][] * * キーワード:書式,フォーマット桁区切り,,,, * ***********************************************************************************
元質問:Textboxを使用した入力チェックの手段 - ゆづき 2004/04/08-14:18 No.8608
VBのtextboxによる入力フィールド上で、入力のチェックを実施したいと考えております。 入力チェックに際しては、 ・整数部9桁+小数点以下2桁までの入力を有効とし、整数部が9桁よりも大きい場合や、小数点以下が3桁以降となる場合には入力エラーとする。
====================================== 必ず、下記の一連のスレッドもご覧下さい。 http://hanatyan.sakura.ne.jp/logbbs/wforum.cgi?mode=allread&no=8608&page=240#8633 --- by 花ちゃん --- ======================================
-------------------------------------------------------------------------- Re^6: これだけでも良かった - 黒影 2004/04/09-14:56 No.8633 --------------------------------------------------------------------------
もっとスマートなコードにならないかなと思って 「Trim」の位置を変えたりしてデバッグしてたら、 下記だけで良かったんだ...
Private Sub Command1_Click()
Dim l As Integer Dim p As Integer Dim strChar As String
'数値チェック If Not IsNumeric(Text1.Text) Then MsgBox "正しい値を入力して下さい。", vbExclamation, "入力エラー" Exit Sub End If strChar = Format(Trim(Text1.Text), "#.###") l = Len(strChar) '小数点位置取得 p = InStr(strChar, ".")
'整数部チェック If Len(Mid(strChar, 1, p - 1)) > 9 Then MsgBox "整数部は9桁以内!!", vbExclamation, "入力エラー" Exit Sub End If '小数部チェック If Len(Mid(strChar, p + 1, l - p)) > 2 Then MsgBox "小数部は2桁以内!!", vbExclamation, "入力エラー" Exit Sub End If
Label1.Caption = Format(strChar, "#.00") End Sub
|