作者:乔山办公网日期:
返回目录: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