Страницы: 1
RSS
Переделать макрос пометки ячеек цветом на пометку слов цветом
 
Добрый вечер, нашел макрос тут.
Так вот хотел бы узнать как проще его переделать так что бы он помечал не ячейки в которых он находит словосочетания, а именно эти слова которые и находит.
Пробовал рекордером и переделками своими что то сваять, но выходит слишком огромный и идиотский код)

Так вот как он работает, он ищет по списку слов в одном столбце и помечает в другом столбце те ячейки в которых нашел то или иное слово. Так вот нужно чуть переделать, что бы он как раз эти слова и помечал в ячейках. К примеру в списке для поиска есть слова - словоформы (Екатери, Евгени, Анатол и т.д - так он находит все склоненные слова с этим корнем) ищет совпадения  в столбце с фразами и вот в каждой ячейке где он нашел он помечает красным те слова которые были в списке для поиска (Анатолий, Анатолия, Екатерины, Екатерина, Евгения, Евгений) - вот тут как раз нужно уточнить, что бы он пометил полностью слово до конца а не его словоформу типо: Анатолий, Екатерины и т.д

Пример приложил

P.S желательно не менять структуру всего кода, я в нем только разобрался и он мне удобен, работает все как надо) Только нужно поменять последние строки отвечающие за определение слов и пометку их цветом.

P.S.S да он щас не помечает ячейки а слова, я немного поменял функцию
Изменено: Fsociety_ - 23.04.2019 22:08:43
 
Просто нужно поручать это все правильному инструменту, а именно Word
Там
Код
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    Selection.Find.Replacement.Font.Color = wdColorRed
    With Selection.Find
        .Text = "<Евкак*>"
        .Replacement.Text = "^&"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchCase = False
        .MatchWholeWord = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = True
    End With
    Selection.Find.Execute Replace:=wdReplaceAll

останется только зациклить меняя "<Евкак*>"
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал:
а именно Word
ну ворд мне не нужен, мне нужно именно в екселе)
 
Включи запись макроса  и поменяй цвет слова,ну а дальше, наверное, сам разберешься.

П.С. Как я понимаю, что бы выбрать слово целиком, нужно содержимое ячейки загнать в массив, после чего проверить массив на вхождение искомого, после чего выбрать тот элемент который подошел под условие, найти в ячейке этот элемент и уже тому что ты нашел нужно придать нужный цвет, тем методом который ты узнаешь записав макрос макрорекодором
Изменено: PDO - 23.04.2019 22:46:21
 
PDO, в нас на форуме к не знакомым людям принято обращаться на Вы.
 
Привет, Михаил
Цитата
БМВ написал:
это все правильному инструменту, а именно Word
Регуляркам надо дело поручать - остальное дело частное, Word избыточен ;)
Цитата
Fsociety_ написал:
P.S желательно не менять структуру всего кода, я в нем только разобрался
Видимо не очень разобрались, как пишет PDO, там ещё пилить и пилить до совершенства, так что несколько другой подход.
 
Андрей VG, Андрей, вечер добрый.  Ну как избыточен? Текстовый процессор для обработки текста :-)
По вопросам из тем форума, личку не читаю.
 
Цитата
Андрей VG написал:
Видимо не очень разобрались,
ну разобрался в плане того что для себя в нем разобрался. А по поводу пилить до совершенства что именно вы имеете в виду, вроде работает все нормально и как нужно. Хотя конечно есть поттормаживание на больших объемах.
 
Цитата
БМВ написал:
Текстовый процессор для обработки текста :-)
этакая дурища? Я ещё понимаю речь бы о Notepad++ шла. :)
 
Цитата
PDO написал:
Включи запись макроса  и поменяй цвет слова,ну а дальше, наверное, сам разберешься.
про это я описал в теме.
 
Цитата
Fsociety_ написал:
вроде работает все нормально и как нужно.
работает поиск. Но вот выделение цветом (основная тема) полного слова (опять же кода для нахождения этого полного слова у вас нет от слова совсем) - нет. Но я уже зарёкся с вами спорить в виду бессмысленности - нормально, тогда всё хорошо. Успехов.
 
Цитата
Андрей VG написал:
этакая дурища?
Э, э ! Громадина, но не Дурища :-)
По вопросам из тем форума, личку не читаю.
Страницы: 1
Наверх