엑셀 매크로 여러단어 구분값으로 입력 한번에 찾아 글자색 색변환 자동 적용하기

엑셀 매크로 여러단어 구분값으로 입력 한번에 찾아 글자색 색변환 자동 적용하기

지난 엑셀 강좌에서 엑셀 단어를 입력하면 특정 글자색으로 자동 변경하는 방법을  포스팅했습니다.
댓글 문의에 하나에 하나씩 말고 여러 단어를 한 번에 색 지정을 하고 싶다는 댓글이 달렸었는데요.

예를 들어 빨강, 파랑을 입력해서 한 번에 글자색을 변경한다는 것이지요

그래서 업그레이드 버전으로 여러 단어를 한 번에 찾아 글자색 변경하는 방법을 알아보겠습니다.

 

[아래 이전 포스팅 참조]

 

엑셀 매크로 특정 글자색 자동 변경 하기

엑셀 매크로 특정 글자색 자동 변경 하기 엑셀 문서를 작성하다 보면 특정 문자를 찾기 위해 찾기 단축키를 눌러서 해당 값을 찾는데요. 내가 원하는 글자가 문서에 포함되면 해당 글자

loveuceci.tistory.com



간단한 엑셀 예제를 준비했습니다.




지난번 단어 하나를 가지고 찾는 방법을 간단히 진행해보면
글자색 변경하려는 색을 드래그로 지정 후 상단 메뉴 중 [보기]-[매크로]를 클릭합니다.




지난 강좌에서 생성했던 매크로를 선택 후 [실행] 버튼을 클릭합니다.




글자색 변환 안내 창이 열리면 단어를 입력 후 [확인] 버튼을 클릭합니다.




해당 글자색이 변경되었습니다.



이렇게 지난 강좌를 진행했었는데요.

이번엔 여러 단어를 한 번에 입력해서 글자색을 모두 변경해보겠습니다.
"Alt + F11" 키를 눌러 Microsoft Visual Basic for Application 창이 열리면 


현재 통합문서에서 마우스 우클릭 후 [삽입-[모듈]을 클릭합니다.
편집 창이 열리면 아래 내용을 입력합니다.


Sub WordColorInput()
 Dim cell As Range, word As String, startIndex As Integer, word1 As String
 Dim xArr
 Dim xCount As Long
   word = InputBox(Prompt:="글자색을 변경할 단어를 입력하세요 여러개는 콤마(,)로 구분 ex) 노랑,파랑", Title:="글자색 변환")
    
    xArr = Split(word, ",")
    
    xCount = UBound(xArr)
             
    If Len(word) > 0 Then
    
        For Each cell In Selection
                  
           If xCount > 0 Then
           
                For I = 0 To xCount
                
                    startIndex = InStr(1, cell, Trim(xArr(I)), vbTextCompare)
                    
                    If startIndex > 0 Then
                        cell.Characters(startIndex, Len(xArr(I))).Font.Color = RGB(0, 0, 255)
                        cell.Characters(startIndex, Len(xArr(I))).Font.Bold = True
                    End If
                   
                 Next
            
           Else
           
           startIndex = InStr(1, cell, word, vbTextCompare)
           
           If startIndex > 0 Then
                cell.Characters(startIndex, Len(word)).Font.Color = RGB(0, 0, 255)
                cell.Characters(startIndex, Len(word)).Font.Bold = True
            End If
           
           End If
            
            
        Next cell
    End If
End Sub

 


 

 

글자색이 RGB로 되어 있는데요 다른 색을 원하시면 RGB 값을 변경하시면 됩니다.




잘 입력되었는지 확인하기 위해 F5키를 눌러 오류가 안뜨는지 확인합니다.

열리면 [취소] 버튼을 클릭해서 창을 닫아주세요




엑셀 화면에서 색을 변경할 셀을 드래그로 지정합니다.
상단 메뉴 중 [보기]-[매크로]를 선택해주세요.




매크로 창이 열리면 WordColorInput를 선택 후 [실행] 버튼을 클릭합니다.




콤마(,)로 구분을 해서 어러 글자를 입력합니다.
예를 들면 노랑,파랑 이렇게 콤마로 구분하시면 됩니다.
이제 [확인] 버튼을 클릭합니다.




글자색이 한 번에 변경되었습니다.

엑셀 매크로 여러단어 구분값으로 입력 한번에 찾아 글자색 색변환 자동 적용하기를 알아보았습니다.