Подскажите, пожалуйста, макрос или формулу, чтобы можно было слова из столбца
Есть ячейки, содержащие разные данные и имена людей (в данном случае, мужское имя): я хочу сделать, чтобы список всех имён был в отдельном столбце, а, если слово из этого столбца (имя) встречается в ячейке, то имя в ячейке заменять на фразу "мужское имя" с выделением полужирным и красным цветом, например. А саму ячейку тоже красить в какой-то цвет (если, например, попадётся ячейка с неизвестным ранее именем, которого нет в столбике)
И чтобы можно было сделать аналогичный список для женских имён (и, соответственно, менять имя на фразу "женское имя")
Добрый вечер! Мои решения проверять надо, могу ошибаться.
Код
Sub nameswitcher()
lastrow_phrases = Cells(Rows.Count, 1).End(xlUp).Row
lastrow_names = Cells(Rows.Count, 3).End(xlUp).Row
Set desc = Range("A2:A" & lastrow_phrases)
Set names_list = Range("C2:C" & lastrow_names)
For Each cell In desc
a = Split(Trim(cell), " ")
For i = LBound(a) To UBound(a)
For Each smth In names_list
If LCase(a(i)) = LCase(smth) Then
cell.Value = Replace(cell, a(i), "мужское имя")
m = InStr(cell, "мужское имя")
With cell.Characters(Start:=m, Length:=11).Font
.Color = RGB(255, 0, 0)
.Bold = True
End With
End If
Next smth
Next i
Next cell
End Sub
P.S. про женское имя появилось уже после, не делал. Насчет, если попадается имя, которое раньше не встречалось в столбике, не знаю как объяснить экселю, что отдельно взятое слово - это имя.