ExcelVBA Q: Как заменить первый экземпляр символа и удалить все после второго экземпляра того же символа - PullRequest
0 голосов
/ 22 января 2020

У меня есть столбец с длинными строками текста (альфа + цифра c) ... строки содержат несколько разделителей «/», и мне нужно заменить первый «/» на «.» символ, а затем удалите второй «/» и все, что следует за ним.

Пример строк: text1inc4 / 4r_2 / exte / ise24lsk / srcir5656we / kajsie / est3wt2w / 1stbbd35werw.py # 1 (желаемый результат = «text1inc4.4r_2») ex1text1 / 1.0.2.5 / aud / алгоритмы формул / heaac / nov / exampleLib / dlb_example54lib / bs5acdeclib / int / all.h # 5 (требуемый результат = «ex1text1.1.0.2.5»)

Приведенный ниже код удаляет все после первого «/», поэтому Мне нужно добавить некоторый предыдущий код, чтобы заменить первый «/» на «.» (Я знаю несколько способов сделать это с формулами Excel, но вместо этого нужно делать это с кодом VBA.) Длина строки и ее содержание варьируются в зависимости от косой черты

Код до сих пор…

  For Each c In Range("Y2:Y" & LngLast)
    If InStr(c.Value, "/") Then
       c.Value = Left(c.Value, InStr(c.Value, "/") - 1)
    End If
  Next c

Спасибо!

1 Ответ

4 голосов
/ 22 января 2020

Вы можете использовать split что-то в этом духе

Dim s As String
Dim a() As String

s = "text1inc4/4r_2/exte/ise24lsk/srcir5656we/kajsie/est3wt2w/1stbbd35werw.py#1 "
a = Split(s, "/")
s = a(0) & "." & a(1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...