Я пытаюсь сделать код для документа первенствовать, который позволит мне выполнить следующие действия:Выделите слова в ячейке (а не в ячейке), сопоставляя только ВСЕ СЛОВА?
- Выберите лист для указанного набора слов (как определено диспетчером имен)
- Поиск для перечисленные слова как целые слова, с учетом чувствительности к регистру, слова, которым предшествуют/сопровождаются пунктуация и т. д.
- Отформатируйте перечисленные слова в своих ячейках (а не самой ячейке) на новый цвет шрифта (в идеале I хотелось бы, чтобы он был выделен, но я не уверен, что Excel позволяет это).
В настоящее время у меня есть код, указанный ниже, который выделяет желтую ячейку и превращает указанные слова в красный цвет, но это соответствует вхождению в слова. Как я могу заставить его соответствовать целым словам?
Sub ColorCertainWords()
Dim Z As Long, Position As Long, Words As Variant, Cell As Range
Words = Range("LIST") 'LIST defined by name manager as list of words that cannot be used
For Each Cell In Sheets("Sheet1").Range("A1:AA6000") 'Range of cells to be checked
If Len(Cell.Value) Then
For Z = 1 To UBound(Words)
Position = InStr(1, Cell.Value, Words(Z, 1), vbTextCompare)
Do While Position
Cell.Characters(Position, Len(Words(Z, 1))).Font.ColorIndex = 3 'Red
Cell.Interior.ColorIndex = 6 ' Yellow
Position = InStr(Position + 1, Cell.Value, Words(Z, 1), vbTextCompare)
Loop
Next
End If
Next
End Sub
Очевидно, что «Позиция» обозначает начальную точку найденного вхождения, а 'Len (Words (Z, 1))' обозначает длину. Таким образом, вам нужно только убедиться, что символ перед 'Position' и после' Postion + Len (Words (Z, 1)) '- это' (пробел) '. Короче говоря, реализуя предложение 'If', которое проверяет, вы можете убедиться, что только полные вхождения отмечены красным. – Ralph
Не будет ли причиной проблемы, если слово находится в начале предложения, в конце предложения и т. Д.? Например, если я ищу слово «собака», а предложение в ячейке «Вы видели мою собаку?». У этого экземпляра есть собака, за которой следует «?» а не (пробел), что создаст проблемы? – Michael
Затем вам нужно будет установить другие проверки для пунктуации и, если это первое слово или последнее слово. –