2

こんにちは、VBA を作成して、テキスト ボックスの 1 つに数字が含まれているかどうかを確認しようとしています。テキスト ボックスの名前: CustomerName. 現在使用しているコードは次のとおりです。

Function HasNumber(strData As String) As Boolean
    Dim iCnt As Integer

    For iCnt = 1 To Len(strData)
        If IsNumeric(Mid(strData, iCnt, 1)) Then
            HasNumber = True
            Exit Function
        End If
    Next iCnt

End Function

Private Sub CustomerName_AfterUpdate()
If HasNumber(CustomerName) Then
    MsgBox "Only letters are allowed for this field."
    Exit Sub
End If

End Sub

なんらかの理由で、このフィールドに数値を入力してからクリックして外に出す (つまり、更新する) と、メッセージ ボックスなどは表示されません。これを修正するにはどうすればよいですか?

4

2 に答える 2

3

カスタム コードを使用する代わりにCustomerName、テーブルの列またはテキスト ボックスの検証ルールで次の検証ルールを使用します。

Not Like "*[0-9]*"

入力規則のリファレンスについては、こちらを参照してください。

于 2013-05-10T21:53:59.213 に答える
0

次のようにしてみてください。

If HasNumber(CustomerName.Text) Then
于 2013-05-09T22:32:14.653 に答える