1
나는 나를 달성 할 수 엑셀 문서에 대한 코드를 만들려고 노력하고 다음 (이름 관리자에 의해 정의 된대로)전체 단어 만 일치시켜 셀 (셀이 아님)의 단어를 강조 표시 하시겠습니까?
- 가에 대한 단어의 나열 세트
- 검색을 워크 시트 검색 대소 문자 구분, 구두점 뒤에 오는 단어 등
- 나열된 단어를 셀 자체가 아닌 셀 내에서 새 글꼴 색 (이상 적으로는 강조 표시하고 싶지만 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 (단어 (Z, 1))'은 길이를 나타냅니다. 그래서,'Position' 이전과'Postion + Len (Words (Z, 1)) '뒤에 나오는 문자가 둘 다'(공백)'인지 확인해야합니다. 즉, 두 항목을 모두 검사하는'If' 절을 구현하면 완전한 사건 만 빨간색으로 표시되도록 할 수 있습니다. – Ralph
단어가 문장의 시작 부분, 문장의 끝 부분 등에있는 경우 문제가되지 않습니까? 예를 들어 내가 "개"라는 단어를 찾고 그 셀의 문장이 "내 개를 보았 니?"라고 말하면됩니다. 이 인스턴스에는 dog 뒤에 "?" 문제가되는 (공간)이 아니겠습니까? – Michael
그런 다음 문장 부호가 첫 단어인지 마지막 단어인지 다른 체크를 설정해야합니다. –