Выделить из строки цифры - VBA

Узнай цену своей работы

Формулировка задачи:

Помогите решить задачу. На запрос вводим строку из последовательности чисел и знаков препинания, например 10,30,500,400. Разделителем может быть любой символ отличный от числа. Задача выделить последовательно каждое число и выполнить с ним действие, пока числа не закончатся. Вот что у меня получилось, но возникла проблема с последним числом в этом списке.
Листинг программы
  1. Sub w()
  2. Dim stroka, i, strout
  3. stroka = InputBox("Введите строку")
  4. strout = ""
  5. i = 1
  6. Do While i < Len(stroka) + 1
  7. If IsNumeric(Mid(stroka, i, 1)) = True Then
  8. strout = strout & Mid(stroka, i, 1)
  9. Else:
  10. ' Выполняемое действие с полученным числом.
  11. strout = ""
  12. End If
  13. i = i + 1
  14. Loop
  15. End Sub

Решение задачи: «Выделить из строки цифры»

textual
Листинг программы
  1. Sub test()
  2.   Dim stroka$, i%: stroka = "10,30,500,400."
  3. With CreateObject("VBScript.RegExp"): .Pattern = "\d+": .Global = True
  4. For i = 0 To .Execute(stroka).Count - 1: MsgBox .Execute(stroka)(i): Next
  5.  End With
  6. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.143 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы