1、首先在开发工具中打开VBA编辑器。
2、在单元格区域当中输入一些内容作为例子。
3、在VBA编辑器中插入模块。
4、在模块当中输入如下代码,然后运行。
5、用快捷键F5运行窗体,分别在三个文本框中输入字符,可以发现“手机号”文本框中除了数字以外所有汉字和字母及“!”、“?”、“*”等符号已被严格限制。
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsNumeric(TextBox1) Then
MsgBox "不是数字!"
Cancel = True
End If
End Sub
Private Sub CommandButton1_Click()
Dim i As Double
i = Format(Replace(TextBox1.Value, "。", "."), "0.00")
Sheet2.Range("A1").Value = i
End Sub
此代码不管textbox1输入的是句号还是点,都将变成点。四舍五入保留两位小数。
扩展资料:
AcceptsReturn 指示在多行TextBox组件中按ENTER键时,是在组件中创建一行新文本还是激活窗体的默认按钮。
AcceptsTab 该值指示在多行文本框组件中按TAB键时,是否在组件中键入一个TAB字符,而不是按选项卡的顺序将焦点移动到下一个组件。
AllowDrop 获取或设置一个值,该值指示组件是否可以接受用户拖放到它上面的数据。
Anchor 获取或设置组件的哪些边缘锚定到其容器边缘。
BackColor 获取或设置组件的背景色。
BackgroundImage 获取或设置在组件中显示的背景图像。
参考资料来源:百度百科-textbox
怎麼不够了?你的完整代码贴出来看看?
试试:
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsNumeric(TextBox1) Then
MsgBox "不是数字!"
Cancel = True
End If
End Sub
不能用那些事件,要判断按键事件:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii < Asc(0) Or KeyAscii < Asc(9) Then MsgBox "不是数字!"
End Sub