2014-10-11 · 知道合伙人教育行家
天雨下凡
知道合伙人教育行家
向TA提问 私信TA
知道合伙人教育行家
采纳数:17564
获赞数:65154
爱电脑、爱数学、爱音乐; 熟悉VB、C/C++、JAVA; EXCEL与VBA有所研究…… 数学,一些会,一些被忘却……
向TA提问 私信TA
关注
展开全部
用VBA,步骤如下:
ALT+F11,输入如下代码:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii <> 48 And KeyAscii <> 49 And KeyAscii <> 50 And KeyAscii <> 51 And KeyAscii <> 52 And KeyAscii <> 53 And KeyAscii <> 54 _
And KeyAscii <> 55 And KeyAscii <> 56 And KeyAscii <> 57 Then
MsgBox "请输入数字!"
KeyAscii = 0
End If
End Sub
Private Sub TextBox1_LostFocus()
If Len(TextBox1) <> 8 Then
MsgBox "只能输入8位数"
TextBox1.Activate
End If
End Sub
展开全部
首先创建一文本框TextBox1
双击TextBox1,输入以下代码
Private Sub TextBox1_Change()
Dim i
'长度上限
If Len(TextBox1.Text) > 8 Then '如果文字长度大于8
TextBox1.Text = TextBox1.Tag '将文本变为上次输入的文本
Beep '使喇叭发出声响,可以不要
End If
'输入限制
For i = 1 To Len(TextBox1.Text) '循环测试文本,从第一个到最后一个
Select Case Mid(TextBox1.Text, i, 1)
Case 0 To 9
Case Else '如果有文本不是0~9之间的数字,则
TextBox1.Text = TextBox1.Tag '将文本变为上次输入的文本
Beep '使喇叭发出声响,可以不要
Exit Sub '更改完成,退出过程
End Select
Next
TextBox1.Tag = TextBox1.Text
End Sub
运行程序即可
不懂可以追问
求采纳
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |