Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Макрос замены, не учитывать регистр
 
Добрый день.
Макрос замены, "переводчик", поиск по тексту ячеек и подстановка значений из списка.

Нужна помощь, чтоб НЕ учитывался регистр исходного текста
Код
Sub Zamena()
Dim lLastRowA As Long, lLastRowB As Long, TekRowA As Long, TekRowB As Long, NT As String, NT1 As String
lLastRowA = Cells(Rows.Count, "A").End(xlUp).Row
lLastRowB = Cells(Rows.Count, "B").End(xlUp).Row
For TekRowA = 2 To lLastRowA
NT = WorksheetFunction.Substitute(Cells(TekRowA, 1), Cells(2, 2), Cells(2, 3))
If lLastRowB > 2 Then
For TekRowB = 3 To lLastRowB
NT = WorksheetFunction.Substitute(NT, Cells(TekRowB, 2), Cells(TekRowB, 3))
Next TekRowB
End If
Cells(TekRowA, 4) = NT
Next TekRowA
End Sub
 
andylu, используйте LCase или UCase
 
Доброе время суток.
Цитата
ivanok_v2 написал:
используйте LCase или UCase
Зачем? Просто использовать VBA Replace Function с параметром Compare:=vbTextCompare
 
Код
NT = WorksheetFunction.Substitute(Cells(TekRowA, 1), Cells(2, 2), Cells(2, 3))
меняется на
Код
NT = replace(Cells(TekRowA, 1), Cells(2, 2), Cells(2, 3))
нет смысла функцию листа использовать , ну а
Цитата
ivanok_v2 написал:
LCase или UCase
это уже сами подставляйте куда надо, или все к нижнему или все к верхнему приводить.

Андрей, с языка снял, про compare :-)
Изменено: БМВ - 18 Сен 2018 17:01:20
Страницы: 1
Читают тему (гостей: 1)
Наверх