Извлечение десятичного числа из строки alphanumeri c в Excel VBA - PullRequest
1 голос
/ 30 марта 2020

Я действительно новичок в Excel VBA и изо всех сил пытаюсь написать функцию, которая может извлечь десятичное число из буквенно-цифровой строки, такой как 1,25 / г или 23,5 г и c. Десятичное число всегда будет впереди.

Я нашел несколько решений этой проблемы, но они не относятся к десятичным числам.

Я нашел решение, которое работает для некоторых строк, но не для всех. Я разместил функцию ниже. Возвращает 1,2 г как 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

1 Ответ

1 голос
/ 30 марта 2020

Ну, ярлык может быть Val функция.

Public Function first_try(a) As Double
    first_try = Val(a)
End Function

Согласно документации:

"Функция Val останавливается чтение строки по первому символу, который он не может распознать как часть числа. "

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...