Выделить из строки цифры - VBA
Формулировка задачи:
Помогите решить задачу.
На запрос вводим строку из последовательности чисел и знаков препинания, например 10,30,500,400.
Разделителем может быть любой символ отличный от числа.
Задача выделить последовательно каждое число и выполнить с ним действие, пока числа не закончатся.
Вот что у меня получилось, но возникла проблема с последним числом в этом списке.
Листинг программы
- Sub w()
- Dim stroka, i, strout
- stroka = InputBox("Введите строку")
- strout = ""
- i = 1
- Do While i < Len(stroka) + 1
- If IsNumeric(Mid(stroka, i, 1)) = True Then
- strout = strout & Mid(stroka, i, 1)
- Else:
- ' Выполняемое действие с полученным числом.
- strout = ""
- End If
- i = i + 1
- Loop
- End Sub
Решение задачи: «Выделить из строки цифры»
textual
Листинг программы
- Sub test()
- Dim stroka$, i%: stroka = "10,30,500,400."
- With CreateObject("VBScript.RegExp"): .Pattern = "\d+": .Global = True
- For i = 0 To .Execute(stroka).Count - 1: MsgBox .Execute(stroka)(i): Next
- End With
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д