Code:
Option ExplicitFunction GetNumber(strText As Variant, sVariable As String) As Variant
Dim oRegex As Object, oMatches As Object, oM As Object
Dim vValue As Variant
Set oRegex = CreateObject("VBScript.Regexp")
oRegex.Pattern = "(" & sVariable & "=" & ")" & _
"(\d+(?:[\.\,]\d+)?|$|\s)"
oRegex.Global = True
Set oMatches = oRegex.Execute(strText)
Select Case True
Case oMatches.Count = 1
If oMatches(0).submatches.Count = 2 Then
vValue = oMatches(0).submatches(1)
Else
vValue = ""
End If
If IsNumeric(vValue) Then GetNumber = CDbl(vValue) Else GetNumber = vValue
Case oMatches.Count = 0
GetNumber = "[#NM]"
Case oMatches.Count > 1
GetNumber = "[#O]"
End Select
Set oRegex = Nothing
Set oMatches = Nothing
End Function