乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > <em>Excel</em>使用vba 如何检查输入是否是数字

<em>Excel</em>使用vba 如何检查输入是否是数字

作者:乔山办公网日期:

返回目录:excel表格制作


在VBA里面,可以使用VarType获得变量以及单元格的数据类型,数值类型值为5(vbDouble)、空类型为0(vbEmpty)、字符串类型为8(vbString )。


例子代码1:显示A1单元格的数据类型

Sub test()
    MsgBox VarType([a1])
End Sub



例子代码2:判断A1单元格数据类型是否数值

Sub test()
    If VarType([a1]) = vbDouble Then
        MsgBox "A1是数值类型"
    Else
        MsgBox "A1不是数值类型"
    End If
End Sub


实际上VB还有vbLong、vbDecimal等类型,但单元格为数值时默认是vbDouble。



这里假设你的那个按钮的名字叫Button,然后把下面zhidao的代码放进去就可以了(已测试!)

Private Sub Button_Click()
Dim i As Variant
i = InputBox("请输入一个数字", "数字录入中", 1)
If IsNumeric(i) = False Then
MsgBox "你输入的不是数值,请重新输入", , "输入错误!"
i = InputBox("请输入一个数字", "数字录入中", 1)
End If
End Sub
VBA中可以利用下面的代码来控制当前单元格“显示”的小数位数:
Selection.NumberFormatLocal = "0.00_ "'这里显示为2位小数

关于此处的numberformatlocal属性:
应用于 CellFormat、DataLabel、DataLabels、Range 和 TickLabels对象的 NumberFormatLocal属性。
以用户语言字符串返回或设置对象的格式代码。Variant 类型,可读写。
expression.NumberFormatLocal
expression 必需。该表达式返回上面的对象之一。

说明:
Format函数使用与 NumberFormat 和 NumberFormatLocal属性不同的格式代码字符串。

IsNumeric 函数
返回 Boolean 值,指出表达式的运算结果是否为数。

语法

IsNumeric(expression)

必要的 expression 参数是一个 Variant,包含数值表达式或字符串表达式。

说明

如果整个 expression 的运算结果为数字,则 IsNumeric 返回 True;否则返回 False。

如果 expression 是日期表达式,则 IsNumeric 返回 False。

If Len(Cells(i, col)) <> 11 And IsNumeric(Cells(i, col)) = False And _
Left((Cells(i, col)), 2) = 13 Or Left((Cells(i, col)), 2) = 15 Or _
Left((Cells(i, col)), 2) = 18 Then
Cells(i, col).Interior.Color = 255
End If

如果提示溢出,变量I声明的数据类型不合.
用下面类型试试
Dim i As Long

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网