Страницы: 1
RSS
Удалить 6 подряд идущих цифр и запятую за ней. А также все, что после символа ";", VBA
 
Друзья, приветствую. Нуждаюсь в вашей помощи.

Необходимо удалить из строки почтовый индекс и идущую за ним запятую и пробел. А также удалить все, что идет после символа ";"
При том индекс не всегда может быть в начале строки.

С удалением всего после запятой я  быстренько разобрался. Range("A:A").Replace " ;", ""
А вот с индексом не могу.

Нужна не функция, а именно изменение в столбце А

Пример в прикрепленном файле.
Изменено: Dyroff - 21.06.2022 14:24:15
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
 
Почитайте ТУТ, ТУТ, ТУТ
 
выполните этот
Код
Sub Replaces()
  Dim a, i&, r&, re, p$(1 To 2)
  p(1) = "\d{6}, ": p(2) = ";.+$"
  a = Intersect([a:a], ActiveSheet.UsedRange)
  Set re = CreateObject("VBScript.RegExp")
  For i = 1 To 2
    re.Pattern = p(i)
    For r = 1 To UBound(a)
      If re.test(a(r, 1)) Then a(r, 1) = re.Replace(a(r, 1), "")
    Next
  Next
  [a1].Resize(UBound(a), 1) = a
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ігор Гончаренко, Спасибо большое! Это то что надо!

Msi2102, и Вам спасибо за материал
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
 
в ворд найти и заменить посерьезнее чем в эксель, было бы неплохо чтоб добавили такую возможность
Как использовать подстановочные символы и регулярные выражения при поиске и замене в Word - zaWindows.ru
Изменено: Тимофеев - 21.06.2022 15:05:27
 
Может так с PQ
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Split Column by Delimiter" = Table.SplitColumn(Source, "Как есть", Splitter.SplitTextByDelimiter(";", QuoteStyle.Csv), {"Как есть.1", "Как есть.2"}),
    #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Как есть.1", type text}, {"Как есть.2", type text}}),
    #"Removed Columns" = Table.RemoveColumns(#"Changed Type1",{"Как есть.2"}),
    #"Split Column by Positions" = Table.SplitColumn(#"Removed Columns", "Как есть.1", Splitter.SplitTextByPositions({7}), {"Как есть.1.1"}),
    #"Changed Type2" = Table.TransformColumnTypes(#"Split Column by Positions",{{"Как есть.1.1", type text}}),
    #"Renamed Columns" = Table.RenameColumns(#"Changed Type2",{{"Как есть.1.1", "Как надо"}})
in
    #"Renamed Columns"
Изменено: jakim - 21.06.2022 15:27:54
 
Цитата
Тимофеев написал:
посерьезнее чем в эксель
В Ворде они просто есть. Свои собственные, не серьёзные )
Страницы: 1
Наверх