excel vba,如何判断A2单元格中的字符串是否为10位纯数字,如果不符合条件就退出宏,谢谢

 我来答
苦乐一辈子
2016-05-19 · TA获得超过1536个赞
知道大有可为答主
回答量:1410
采纳率:64%
帮助的人:1080万
展开全部
Sub test()
  m = 0
For i = 1 To Len([a2])
    If InStr(1, "0123456789", MID([A2],I,1)) = 1 Then m = m + 1
Next
If m <> 10 Then MsgBox [a2] & "不是纯数字" Else MsgBox [a2] & "是纯数字"
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhang_iven
2016-05-19 · TA获得超过1763个赞
知道大有可为答主
回答量:2844
采纳率:60%
帮助的人:1855万
展开全部
函数可以用=ISNUMBER(VALUE(A2))

VBA
temp = Val(Range("a2"))
If Len(temp) = Len(Range("a2")) Then
msgbox "纯数字"
Else
msgbox "非纯数字"
End If
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ccy366
2016-05-19 · TA获得超过1910个赞
知道小有建树答主
回答量:754
采纳率:100%
帮助的人:222万
展开全部
VBA中可以这样判断
VarType([a1])=8VarType([a1])=8

debug.print activecell.Errors.Item(xlNumberAsText).Value

=ISTEXT(A2)、
=ISNONTEXT(A1)、
=CELL("prefix",A2)、
=ISNUMBER(A2)、
=IF(TYPE(A2)=2,1,0)、
=COUNT(A2)、
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
SIANGKEE
2016-05-19 · TA获得超过1552个赞
知道小有建树答主
回答量:1033
采纳率:50%
帮助的人:848万
展开全部
Sub test()
    If IsNumeric(ThisWorkbook.Worksheets(1).Cells(2, 1)) And Len(ThisWorkbook.Worksheets(1).Cells(2, 1)) = 10 Then
        MsgBox "Is number"
    Else
        Exit Sub
    End If
End Sub
追问
你好,如果条件成立就不做任何动作,程序向下进行,该如何改 也就是第三行的 msgbox"is number"这句应该如何改呢,谢谢
追答
Sub test()
    If IsNumeric(ThisWorkbook.Worksheets(1).Cells(2, 1)) And Len(ThisWorkbook.Worksheets(1).Cells(2, 1)) = 10 Then
        MoreFunction
    Else
        Exit Sub
    End If
End Sub

Private Function MoreFunction()As String
 MsgBox "Is number"
End Function

不知道是不是你要的?

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7f9ef26
2016-05-19 · TA获得超过157个赞
知道小有建树答主
回答量:546
采纳率:37%
帮助的人:132万
展开全部
想问一下你的悬赏金为什么能打到200
更多追问追答
追问
就是直接就有,用电脑,,以前是没有的,,
追答
这样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式