У меня есть длинный список имен в Excel, в котором все содержат «PP», за которым следует номер. например PP10
или P101.
Как вытащить три числовых символа в строке?
Я хотел бы вывести цифры после «ПП». Я пробовал следующий код, но он, похоже, работает до PP99
, что-либо с тремя числовыми символами после того, как «PP» не читается правильно.
For n = 1 To MyCount
If Mid(MyString, n, 2) = "PP" Then
If IsNumeric(Mid(MyString, n + 2, 1)) Then
PP_Image = Mid(MyString, n + 1, 3)
End If
End If
Next n
If IsNumeric(Mid(PP_Image, 2, 2)) Then
PP_Image = Mid(PP_Image, 2, 2)
Else: IsNumeric (Mid(PP_Image, 2, 1))
PP_Image = Mid(PP_Image, 2, 1)
End If
Это предполагает, что дополнительного текста за пределами PP # нет. Если бы текст был чем-то вроде «Пример OO11 PP222 QQ3456», то этот метод не предоставил бы корректных результатов. – tigeravatar
Однако, если текст заканчивается после PP #, как показано в примерах пользователя, то метод Split будет работать отлично. – tigeravatar
Приведенные выше примеры были «Example PP #». Работа над этим будет двойной сплит: «PP_Image = Val (Split (Split (MyString,« PP ») (1),« ») (0))' То есть, если после пробела есть пробел , –