excel vba 判断数字位数
发布网友
发布时间:2022-05-05 07:46
我来回答
共4个回答
热心网友
时间:2023-10-16 04:20
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
热心网友
时间:2023-10-16 04:20
判断长度用 len()涵数
例:
ss="12345"
if len(ss)>5 then msgbox "不正确!"
判断是否含有其他字符
function pd(zfc)
cd=len(zfc)
for i=1 to cd
zh=mid(zhc,i,1)
if zh<=asc("0") and zh>=asc("1") then
msgbox "发现"+str(i)+"位不是数字!"
end if
next
end func
热心网友
时间:2023-10-16 04:20
If Left((Cells(i, col)), 2) = 13 Or Left((Cells(i, col)), 2) = 15 Or Left((Cells(i, col)), 2) = 18 Then
改成这样试试:
If Left((Cells(i, col)), 2) = "13" Or Left((Cells(i, col)), 2) = "15" Or Left((Cells(i, col)), 2) = "18" Then
因为left函数取出来的13、15或者18都是字符串,不能直接=13,而是要="13"
热心网友
时间:2023-10-16 04:21
If 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