簡體   English   中英

從 Excel VBA 中的字母數字字符串中提取十進制數

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM