[英]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.