excel vba 将一个文本框TEXTBOX1限定只能输入数字,如果输入其他汉字或者字母提示,输入错误,请输入数字

If Not IsNumeric(TextBox1) Then MsgBox "不是数字!"
这一句,不够。请补充下。。。谢谢。。。

1、首先在开发工具中打开VBA编辑器。

2、在单元格区域当中输入一些内容作为例子。

3、在VBA编辑器中插入模块。

4、在模块当中输入如下代码,然后运行。

5、用快捷键F5运行窗体,分别在三个文本框中输入字符,可以发现“手机号”文本框中除了数字以外所有汉字和字母及“!”、“?”、“*”等符号已被严格限制。

温馨提示:内容为网友见解,仅供参考
第1个回答  2020-02-17

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

本回答被网友采纳
第2个回答  2015-11-11

怎麼不够了?你的完整代码贴出来看看?

试试:

Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
    If Not IsNumeric(TextBox1) Then
        MsgBox "不是数字!"
        Cancel = True
    End If
End Sub

追问

代码复制后,运行时当我输入“3"就出来对话框,”不是数字“。当然3还在上面。

追答

确定可行的,你的代码和上面一模一样?你是如何输入的?能把你的代码和问题界面截图看看吗?

追问

追答

代码呢?

追问

就是用的你的原代码。

追答

你改成If Not IsNumeric(TextBox1.Text) Then试试

追问

还是一样。你的qq是多少?我把我的东西发到你的 ...,你整体看看。。是一个自己刚学习做的东东。。。

本回答被网友采纳
第3个回答  2015-11-11
不能用那些事件,要判断按键事件:
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

本回答被提问者采纳

excel vba 将一个文本框TEXTBOX1限定只能输入数字,如果输入其他汉字或 ...
当用户尝试在TextBox1中输入非数字字符时,如汉字或字母,Private Sub TextBox1_BeforeUpdate事件会触发。这段代码会检查输入内容是否为数字,如果不是,它会弹出一个提示框显示"不是数字!",并设置Cancel属性为True,阻止输入更新。此外,当用户点击CommandButton1时,代码会将TextBox1中的数字转换为小数...

excel vba 将一个文本框TEXTBOX1限定只能输入数字,如果输入其他汉字或 ...
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输入的是句号还是点,都将变成点。四舍五入保留两位小数。

excel vba 将一个文本框TEXTBOX1限定只能输入数字,如果输入其他汉字或 ...
1、首先在开发工具中打开VBA编辑器。2、在单元格区域当中输入一些内容作为例子。3、在VBA编辑器中插入模块。4、在模块当中输入如下代码,然后运行。5、用快捷键F5运行窗体,分别在三个文本框中输入字符,可以发现“手机号”文本框中除了数字以外所有汉字和字母及“!”、“?”、“*”等符号已被严格限...

excel窗体文本框要求只能输入数值,VBA代码如何写?
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)If KeyCode = 13 Then if isnumeric(TextBox1.text) then Range("A1").Value = TextBox1.text end ifEnd IfEnd Sub dz138 | 发布于2011-07-22 举报| 评论 0 1 为您推荐: 可以获得文本框当前 在...

Excel VBA中userform的Textbox输入的文本只能显示在一行,我想输入长文 ...
选择TEXTBOX 右键 属性 MultiLine 设置为TRUE (自动换行)ScrollBoars 设置为2 (垂直滚动条)

excel 如何用vba 实现 某列 限制输入范围
1、打开要处理的excel文档,2、按alt+f11,打开vba编辑窗口,3、双击左侧树中的thissheet,4、在右侧的空白窗口中输入如下的内容:Private Sub Worksheet_Change(ByVal Target As Range)Dim s As StringDim i As Long, j As LongDim LL As StringLL = "D" '需要控制的列Dim cc As RangeFor Each cc In ...

Excel VBA里限制文本框里的输入的数据为正整数,如果不是正整数提示错误...
假设有文本框TextBox1 Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0 End Sub 加上这个代码,文本框里就只能输入正整数了,不用判断。非要判断的话用这个代码,错误提示在A1里面表示 Private Sub TextBox1_Change()...

使用Excel VBA,对窗体中的一个文本框控件,如何可以不断滚动两位数字,就 ...
flag = True '初始化中断变量。当中断变量为真时开始循环 Do While flag DoEvents '释放程序控制权,允许执行其它事件。TextBox1 = 10 + Int(Rnd * 90) '文本框动态显示10到99 Loop PS:如要中断循环,可通过其他程序改变flag为False ...

vb.net中textbox 只输入字母,如果输入其他则弹出提示框
Forms.KeyPressEventArgs) Handles TextBox1.KeyPress If e.KeyChar >= "A" And e.KeyChar <= "Z" Or e.KeyChar >= "a" And e.KeyChar <= "z" Then e.Handled = False Else MessageBox.Show ("只能输入字母!") e.Handled = True Exit Sub End IfEnd Sub ...

如何用VBA给EXCEL插批注,当我单元格输入1时,批注是一个值,输入2时是另...
在工作表标签单击右键 点选"查看代码"粘贴下面的代码 Private Sub Worksheet_Change(ByVal Target As Range)If Target.Comment Is Nothing Then If Target.Value = 1 Then Target.AddComment "A"Else Target.AddComment "B"End If Else If Target.Value = 1 Then Target.Comment.Text "A"Else Ta...

相似回答