Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Переименование "однокоренных" значений и с кавычками - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Переименование "однокоренных" значений и с кавычками (Макросы/Sub)
Переименование "однокоренных" значений и с кавычками
WolFoX Дата: Вторник, 27.09.2016, 14:28 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Вновь здравствуйте!

Записали в макрос условия для переименования, все отлично работает, кроме двух случаев:
1. Если текст обрамлен кавычками, он его не видит. (пробовали в условия вписать разные типы кавычек, даже звездочки ставили - все равно оставляет такие ячейки нетронутыми)
2. Если есть наименования однокоренные, то выходит путаница. Например есть "хлеб" для которого задано условие переименовать в "выпечка" и есть "хлеб ржаной", для которого еще что-нибудь задано. Но второе правило он игнорирует и переименовывает последний вариант в "выпечка ржаной".
Приложила пример. Что подписать, чтобы он игнорил кавычки и переименовывал именно то, полное сочетание слов, которое вписали, не трогая значения, которые лишь содержат эти слова внутри более развернутого наименования?
К сообщению приложен файл: 9873574.xls(27Kb)
 
Ответить
СообщениеВновь здравствуйте!

Записали в макрос условия для переименования, все отлично работает, кроме двух случаев:
1. Если текст обрамлен кавычками, он его не видит. (пробовали в условия вписать разные типы кавычек, даже звездочки ставили - все равно оставляет такие ячейки нетронутыми)
2. Если есть наименования однокоренные, то выходит путаница. Например есть "хлеб" для которого задано условие переименовать в "выпечка" и есть "хлеб ржаной", для которого еще что-нибудь задано. Но второе правило он игнорирует и переименовывает последний вариант в "выпечка ржаной".
Приложила пример. Что подписать, чтобы он игнорил кавычки и переименовывал именно то, полное сочетание слов, которое вписали, не трогая значения, которые лишь содержат эти слова внутри более развернутого наименования?

Автор - WolFoX
Дата добавления - 27.09.2016 в 14:28
Pelena Дата: Вторник, 27.09.2016, 15:06 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 9846
Репутация: 2253 ±
Замечаний: 0% ±

Excel 2010 & Mac Excel 2011
Записали в макрос

не нашла в файле макроса


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
Сообщение
Записали в макрос

не нашла в файле макроса

Автор - Pelena
Дата добавления - 27.09.2016 в 15:06
WolFoX Дата: Вторник, 27.09.2016, 16:15 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Pelena, макрос слишком большой. Файл весом 600кб получается.
Вот часть кода с кавычками. Да и вообще везде код такой.
[vba]
Код
Selection.Replace What:= _
        "Заполнение полей модуля «Непродовольственные товары» ИС «Мониторинг цен»", Replacement:= _
        "Мониторинг цен", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
        SearchFormat:=False, ReplaceFormat:=False
[/vba]
 
Ответить
СообщениеPelena, макрос слишком большой. Файл весом 600кб получается.
Вот часть кода с кавычками. Да и вообще везде код такой.
[vba]
Код
Selection.Replace What:= _
        "Заполнение полей модуля «Непродовольственные товары» ИС «Мониторинг цен»", Replacement:= _
        "Мониторинг цен", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
        SearchFormat:=False, ReplaceFormat:=False
[/vba]

Автор - WolFoX
Дата добавления - 27.09.2016 в 16:15
Pelena Дата: Вторник, 27.09.2016, 16:38 | Сообщение № 4
Группа: Модераторы
Ранг: Экселист
Сообщений: 9846
Репутация: 2253 ±
Замечаний: 0% ±

Excel 2010 & Mac Excel 2011
кавычки надо удваивать
[vba]
Код
Selection.Replace What:= _
        "Заполнение полей модуля ""Непродовольственные товары"" ИС ""Мониторинг цен""", Replacement:= _
        "Мониторинг цен", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
        SearchFormat:=False, ReplaceFormat:=False
[/vba]


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
Сообщениекавычки надо удваивать
[vba]
Код
Selection.Replace What:= _
        "Заполнение полей модуля ""Непродовольственные товары"" ИС ""Мониторинг цен""", Replacement:= _
        "Мониторинг цен", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
        SearchFormat:=False, ReplaceFormat:=False
[/vba]

Автор - Pelena
Дата добавления - 27.09.2016 в 16:38
Karataev Дата: Вторник, 27.09.2016, 16:51 | Сообщение № 5
Группа: Проверенные
Ранг: Ветеран
Сообщений: 641
Репутация: 226 ±
Замечаний: 0% ±

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

В файле из поста 1 нет такого примера. Если слово "хлеб" занимает всю ячейку (то есть кроме слова "хлеб", в ячейке ничего нет), то в методе "Replace", в параметре "LookAt" укажите, что искомый текст должен занимать всю ячейку:
[vba]
Код
LookAt:=xlWhole
[/vba]
Если же в ячейке кроме слова "хлеб" может быть и другой текст, тогда наверное потребуется заменить метод "Replace" другим кодом. Для этого нужно смотреть файл пример.




Сообщение отредактировал Karataev - Вторник, 27.09.2016, 16:55
 
Ответить
Сообщение
Например есть "хлеб" для которого задано условие переименовать в "выпечка" и есть "хлеб ржаной", для которого еще что-нибудь задано. Но второе правило он игнорирует и переименовывает последний вариант в "выпечка ржаной".

В файле из поста 1 нет такого примера. Если слово "хлеб" занимает всю ячейку (то есть кроме слова "хлеб", в ячейке ничего нет), то в методе "Replace", в параметре "LookAt" укажите, что искомый текст должен занимать всю ячейку:
[vba]
Код
LookAt:=xlWhole
[/vba]
Если же в ячейке кроме слова "хлеб" может быть и другой текст, тогда наверное потребуется заменить метод "Replace" другим кодом. Для этого нужно смотреть файл пример.

Автор - Karataev
Дата добавления - 27.09.2016 в 16:51
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Переименование "однокоренных" значений и с кавычками (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2016 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!