excel vba 将一个文本框TEXTBOX1限定只能输入数字,如果输入其他汉字或者字母提示,输入错误,请输入数字
这一句,不够。请补充下。。。谢谢。。。 展开
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
代码复制后,运行时当我输入“3"就出来对话框,”不是数字“。当然3还在上面。
确定可行的,你的代码和上面一模一样?你是如何输入的?能把你的代码和问题界面截图看看吗?
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii < Asc(0) Or KeyAscii < Asc(9) Then MsgBox "不是数字!"
End Sub
你的这个也不行。。。
搞错一个小于:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii Asc(9) Then MsgBox "不是数字!"
End Sub