Предполагая, что числовые данные всегда находятся в начале ячейки, вы можете использовать Regex, чтобы найти любые последовательные числа в начале строки, останавливаясь, как только она достигает первых нечисловых символов. Вот функция, которая сделает это за вас, надеюсь, это поможет. ^ Обозначает начало ячейки, а (\ d +) означает один или несколько числовых символов, а. * Означает, за которыми следует ноль или более символов. Я предполагаю, что вам нужна только одна строка чисел, поэтому у меня есть регулярное выражение, возвращающее субматч 0 (первое совпадение).
Function ExtractNumericData(ByVal text As String) As String
Application.ScreenUpdating = False
Dim allMatches As Object
Dim RE As Object
Set RE = CreateObject("vbscript.regexp")
RE.Pattern = "^(\d+).*"
RE.Global = True
Set allMatches = RE.Execute(text)
ExtractNumericData = allMatches.Item(0).submatches.Item(0)
Application.ScreenUpdating = True
End Function