Страницы: 1
RSS
Удалить все символы, кроме перечисленных
 
Эта тема закрыта почему то, а вопрос остался 27 Окт 2012 14:33:43 Сообщение в этой теме 14 Это сообщение писал Hugo
Не подскажете, как этот код сделать в виде макроса, а не Function . Я не могу в теле vba запустить на исполнение эту процедуру, хотя и прочёл как это сделать . На сегодняшний день спасаюсь private макросами если их много, а уже запускаю их отдельным макросом, где они прописаны все по порядку исполнения. Так у меня получается.
Вообще мне необходимо удалить все символы, оставить только пробелы, / и русские буквы в обоих регистрах. (Собираюсь править описания изделий). Но это уже попробую сам добавить. А пока эта формула так же востребована- правки каталожных номеров запчастей.  :)
 
Цитата
необходимо удалить все символы, оставить только пробелы, / и русские буквы в обоих регистрах
Попробуйте так
Код
Sub OnlyRus()
Dim i As Long
 For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
   With CreateObject("VBScript.RegExp")
     .Global = True
     .IgnoreCase = True
     .Pattern = "[^А-ЯЁа-яё\/\. ]+"
     Cells(i, 1) = .Replace(Cells(i, 1), "")
   End With
Next
End Sub
 
добрый вечер,не нашел файл-примера,еще вариант макроса,если данные в столбце A
 
Код
Sub test()
 Dim i&, z: z = Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row).Value
With CreateObject("VBScript.RegExp"):  .Pattern = "[а-яёА-ЯЁ/\s]+"
      For i = 1 To UBound(z)
           If .test(z(i, 1)) Then z(i, 1) = .Execute(z(i, 1))(0)
       Next
  Range("A1").Resize(UBound(z), 1).Value = z
End With
End Sub
Изменено: sv2013 - 05.09.2016 22:30:48
Страницы: 1
Читают тему
Наверх