vba 限定textbox输入格式代码

我需要定义textbox输入的格式为8位,并且只能输入数字,... 我需要定义textbox输入的格式为8位,并且只能输入数字, 展开
 我来答
天雨下凡
2014-10-11 · 知道合伙人教育行家
天雨下凡
知道合伙人教育行家
采纳数: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

月儿弯2004
推荐于2017-11-26 · 超过15用户采纳过TA的回答
知道答主
回答量:26
采纳率:100%
帮助的人:12.3万
展开全部

首先创建一文本框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

运行程序即可

不懂可以追问

求采纳

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式