vba中如何取字符串之后的数字
刚学VBA,现遇到个问题不知如何解决。例题:字符串“TY168"或”T168“在指导字符串长度的情况下可以用left(TY168,3)或right()函数,但如果不知道字...
刚学VBA,现遇到个问题不知如何解决。
例题:字符串“TY168"或”T168“
在指导字符串长度的情况下可以用left(TY168,3)或right()函数,但如果不知道字符串长度的时候该怎么解决? 展开
例题:字符串“TY168"或”T168“
在指导字符串长度的情况下可以用left(TY168,3)或right()函数,但如果不知道字符串长度的时候该怎么解决? 展开
4个回答
展开全部
'写了个函数 直接用这个函数就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
'调用方法,列 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
展开全部
可以试试用instr()来取得第一个数字在字符串中的位置啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
获取字符串长度的函数是len()
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以用 Len 函数 知道 字符串的长度~~~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询