• 목록
  • 아래로
  • 위로
  • 쓰기
  • 검색

특정 단어 찾아서 색칠하기

  • 만조
  • 26
  • 0

Function findx(searchWord As String, targetCell As Range) As String
    Dim cellText As String
    Dim startPos As Integer
    Dim endPos As Integer

    ' 대상 셀의 텍스트 가져오기
    cellText = targetCell.Value

    ' 찾을 단어가 셀 텍스트에 포함되어 있는지 확인
    startPos = InStr(1, cellText, searchWord, vbTextCompare)

    If startPos > 0 Then
        Do
            ' 찾은 단어를 빨간색으로 표시
            targetCell.Characters(startPos, Len(searchWord)).Font.Color = RGB(255, 0, 0)

            ' 찾은 단어의 전후로 다른 부분은 검정색으로 표시
            If startPos > 1 Then
                targetCell.Characters(1, startPos - 1).Font.Color = RGB(0, 0, 0)
            End If

            endPos = startPos + Len(searchWord)
            If endPos <= Len(cellText) Then
                targetCell.Characters(endPos, Len(cellText) - endPos + 1).Font.Color = RGB(0, 0, 0)
            End If

            ' 찾은 다음 위치 찾기
            startPos = InStr(startPos + 1, cellText, searchWord, vbTextCompare)
        Loop While startPos > 0

        ' 함수의 반환 값에도 찾을 단어를 빨간색으로 표시
        findx = targetCell.Text
    Else
        ' 찾는 단어가 없을 경우 "없음"으로 반환
        findx = "없음"
    End If
End Function

공유

facebooktwitterpinterestbandkakao story
퍼머링크

댓글 0

댓글 쓰기

신고

"님의 댓글"

이 댓글을 신고 하시겠습니까?

삭제

"님의 댓글"

이 댓글을 삭제하시겠습니까?