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

Вход

Регистрация

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

 

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

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

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

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

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

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

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

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


"Черт возьми, Холмс! Но как??!!"
Ю-money 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
Группа: Админы
Ранг: Местный житель
Сообщений: 19165
Репутация: 4412 ±
Замечаний: ±

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


"Черт возьми, Холмс! Но как??!!"
Ю-money 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
Группа: Проверенные
Ранг: Старожил
Сообщений: 1334
Репутация: 533 ±
Замечаний: 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 из 1
  • 1
Поиск:

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