Страницы: 1
RSS
Удаление списка указанных символов + условие
 
Доброго времени суток! Прошу помощи, но не уверен, что такое вообще возможно. Нашел макрос, который удаляет все указанные символы из определенного столбца. Задача указать все цифры и удалить их, НО цифры стоящие рядом со знаком % оставить, при этом цифры могут стоять как с пробелом, так и без него относительно знака %, и прописаны в некоторых случаях через запятую. Возможно ли не выполнять условия данного макроса, например к символам стоящим на удалении не более 5 символов от %?
Изменено: Валерий - 01.10.2020 23:40:50
 
Цитата
Валерий написал:
но не уверен, что такое вообще возможно.
элементарно с помощью регулярных выражений (маска в 21 символ решает вашу задачу)
работайте над замечаниями  - решение будет)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Спасибо за ответ, осталось погуглить как встроить регулярные выражения в макрос. Пока для меня это сложно.
 
Код
Sub m2()
  Dim a, r&, re
  Set re = CreateObject("VBScript.RegExp"): a = [a1].CurrentRegion
  re.Global = True: re.Pattern = "[0-9,]+(?!\d|,|%| %)"
  For r = 1 To UBound(a)
    If re.test(a(r, 1)) Then a(r, 1) = Trim(re.Replace(a(r, 1), ""))
  Next
  [d1].Resize(UBound(a), 1) = a
End Sub
Изменено: Ігор Гончаренко - 02.10.2020 19:55:46
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Огромное Мерси!
 
вот это
Код
re.Pattern = "[0-9,]+(?!\d|,|%| %)"
нужно было запрограммировать, остальное просто механически написать буквы в правильном порядке, без необходимости думать
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Спасибо еще раз!  
Страницы: 1
Наверх