Друзья, здравствуйте. подскажите, пожалуйста, Может как то можно написать макрос, чтобы 1 раз его в книге вызвать, а он автоматом по всему листу заменил города на первую букву в верхний регистр.
В самом макросе города и названия брендов, которые необходимо заменить я задам руками.
Как это вижу я)
Создаю макрос) Вставляю Ваш код, который я очень надеюсь Вы мне поможете написать
Дальше вставляю массив из что заменить на что Пример массива:
москв-Москв пермь-Пермь соколов-СОКОЛОВ
Вызываю Макрос Alt+f8 Нажимаю кнопку запустить)
Профит)))))
Просто как это происходит сейчас. Выделить всё, CTRL+F, потом москв заменить на Москв нажать заменить. Так повторить около 150 раз.)) Второй файл - заново всё)
Друзья, здравствуйте. подскажите, пожалуйста, Может как то можно написать макрос, чтобы 1 раз его в книге вызвать, а он автоматом по всему листу заменил города на первую букву в верхний регистр.
В самом макросе города и названия брендов, которые необходимо заменить я задам руками.
Как это вижу я)
Создаю макрос) Вставляю Ваш код, который я очень надеюсь Вы мне поможете написать
Дальше вставляю массив из что заменить на что Пример массива:
москв-Москв пермь-Пермь соколов-СОКОЛОВ
Вызываю Макрос Alt+f8 Нажимаю кнопку запустить)
Профит)))))
Просто как это происходит сейчас. Выделить всё, CTRL+F, потом москв заменить на Москв нажать заменить. Так повторить около 150 раз.)) Второй файл - заново всё)byte32
Сообщение отредактировал byte32 - Среда, 19.07.2017, 13:40
Уважаемый китин я об этом думал. К сожалению нельзя( Данные находятся на разных столбцах, и каждый копировать, протягивать. Да и минимум как 150 строк в массиве, а формула проддерживает, вроде 10 только
Уважаемый китин я об этом думал. К сожалению нельзя( Данные находятся на разных столбцах, и каждый копировать, протягивать. Да и минимум как 150 строк в массиве, а формула проддерживает, вроде 10 толькоbyte32
Sub ZamPerv() Dim d_ As Range r0_ = 2 r1_ = Me.Range("A" & Rows.Count).End(3).Row If r1_ < r0_ Then Exit Sub n_ = r1_ - r0_ + 1 arz = Range("A" & r0_).Resize(n_, 2) If Selection.Count = 1 Then Set d_ = ActiveSheet.Cells Else Set d_ = Selection End If For i = 1 To n_ d_.Replace What:=arz(i, 1), Replacement:=arz(i, 2), LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Next i End Sub
[/vba] == В Вашем файле тоже добавил
Поздно, уже и так написал [vba]
Код
Sub ZamPerv() Dim d_ As Range r0_ = 2 r1_ = Me.Range("A" & Rows.Count).End(3).Row If r1_ < r0_ Then Exit Sub n_ = r1_ - r0_ + 1 arz = Range("A" & r0_).Resize(n_, 2) If Selection.Count = 1 Then Set d_ = ActiveSheet.Cells Else Set d_ = Selection End If For i = 1 To n_ d_.Replace What:=arz(i, 1), Replacement:=arz(i, 2), LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Next i End Sub
_Boroda_ А подскажите, пожалуйста. Я уже скопировал, потом импортировал Ваш макрос в свой файл. У Вас всё работает, у меня пишет "Invalid use of Me keyword" я на угад уже пытался переименовавать переменные. не получается(((
_Boroda_ А подскажите, пожалуйста. Я уже скопировал, потом импортировал Ваш макрос в свой файл. У Вас всё работает, у меня пишет "Invalid use of Me keyword" я на угад уже пытался переименовавать переменные. не получается(((byte32
У меня макрос в модуле листа"Замены", а у Вас в обычном модуле. Для переноса в другой файл достаточно перенести в этот файл лист "Замена" (Правой мышью на ярлык листа - Переместить/скопировать)
У меня макрос в модуле листа"Замены", а у Вас в обычном модуле. Для переноса в другой файл достаточно перенести в этот файл лист "Замена" (Правой мышью на ярлык листа - Переместить/скопировать)_Boroda_
Читал, заказывал и платно не раз. Просто , душа не спокойна. Ну как так, человек помог, потратил время на меня. )
А , да. Позвольте, раз пошла такая пьянка дополнить. В 90% случаях, я ни тут платно, ни на юду не смог решить , а прямо в этой ветке мне помогали, почти моментально и бесплатно. Парадокс такой. Хотя и и писал, мол, можно я ещё дозакажу подобного за деньги, люди не хотели. Ссылаясь на нехватку времени. А вот тут чуть-чуть, там чуть-чуть. С мира по нитке и получился впечатляющий результат
Читал, заказывал и платно не раз. Просто , душа не спокойна. Ну как так, человек помог, потратил время на меня. )
А , да. Позвольте, раз пошла такая пьянка дополнить. В 90% случаях, я ни тут платно, ни на юду не смог решить , а прямо в этой ветке мне помогали, почти моментально и бесплатно. Парадокс такой. Хотя и и писал, мол, можно я ещё дозакажу подобного за деньги, люди не хотели. Ссылаясь на нехватку времени. А вот тут чуть-чуть, там чуть-чуть. С мира по нитке и получился впечатляющий результатbyte32
Сообщение отредактировал byte32 - Среда, 19.07.2017, 17:18