[英]Extract decimal number from an alphanumeric string in Excel VBA
我对 Excel VBA 真的很陌生,正在努力编写一个函数,该函数可以从 1.25/g 或 23.5g 等字母数字字符串中提取十进制数。十进制数总是在前面。
我找到了一些解决问题的方法,但它们不适用于十进制数。
我找到了一个适用于某些字符串但不适用于所有字符串的解决方案。 我已经发布了下面的功能。 它返回 1.2 g 作为 1,但适用于许多其他数字。
提前致谢。
Public Function first_try(a) As Double
Dim i As Long
For i = 1 To Len(a)
If IsNumeric(Mid(a, i, 1)) Then
first_try = Val(Mid(a, i))
Exit For
End If
Next i
Debug.Print firt_try
End Function
好吧,捷径可能是Val
函数。
Public Function first_try(a) As Double
first_try = Val(a)
End Function
根据文档:
“Val 函数在它无法识别为数字的一部分的第一个字符处停止读取字符串。”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.