vba中如何取字符串之后的数字

刚学VBA,现遇到个问题不知如何解决。
例题:字符串“TY168"或”T168“
在指导字符串长度的情况下可以用left(TY168,3)或right()函数,但如果不知道字符串长度的时候该怎么解决?

'写了个函数 直接用这个函数就OK了
'调用方法,列 temp=截取数字("aaa123aaa") 得到的结果temp的值为123
'函数功能 寻找字符串中出现的第一个数字与从第一个数字开始的最后一个数字将他们截取出来
'截取数字("123aaa") 截取数字("aaa123a111aa") 这些取值的结果都是123

Function 截取数字(char) As Variant

s = 1

For s = 1 To Len(char)
temp = Mid(char, s, 1)

If IsNumeric(temp) Then
Exit For
End If

Next

For e = s To Len(char)
temp = Mid(char, e, 1)

If Not IsNumeric(temp) Then
Exit For
End If

Next

截取数字 = Mid(char, s, e - s)

End Function
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-10-10
可以试试用instr()来取得第一个数字在字符串中的位置啊。
第2个回答  2009-10-10
获取字符串长度的函数是len()
第3个回答  2009-10-10
你可以用 Len 函数 知道 字符串的长度~~~~