엑셀 팁

엑셀 시트를 비교해서 다른 부분을 찾는 방법(VBA코드)

아무개a 2023. 2. 17. 07:38
반응형

오늘은 엑셀 두개 시트를 비교해서 틀린 부분이 있는 경우 자동으로 색을 칠해주는 VBA 코드를 알려드리겠습니다.

 

예를들어 엑셀 파일 내에 sheet1과 sheet2 두개 워크시트가 있는데

 

아주 일부분의 값만 차이가 날때 모든 셀이 같은지 수식을 거는것도 방법이긴 합니다.

 

다만 시트 안에 값이 너무 많은 경우 수식을 거는거 자체가 귀찮고 번거로울 수 있습니다.

 

그때는 다음 VBA 코드를 돌리면 자동으로 비교해서 색을 칠해줍니다.

 

예를들어

sheet1

 

sheet2

위 두 시트에서 차이가 나는 부분을 비교한다면 눈으로 차이를 찾기가 매우 어렵습니다.

 

엑셀을 켜두고 Alt+F11을 눌러 다음 화면을 봅니다

뭔가 심란한 화면이 나왔지만 무서워하지 마세요

 

삽입-모듈을 누릅니다

나오는 새 창에 아래 코드를 복사 붙여넣기 합니다.

 

Sub CompareSheets()
    Dim ws1 As Worksheet
    Dim ws2 As Worksheet
    Dim cell As Range
    
    Set ws1 = ThisWorkbook.Worksheets("Sheet1")
    Set ws2 = ThisWorkbook.Worksheets("Sheet2")
    
    For Each cell In ws1.UsedRange
        If Not cell.Value = ws2.Range(cell.Address).Value Then
            cell.Interior.Color = RGB(255, 0, 0) '셀 색을 빨간색으로 변경
        End If
    Next cell
End Sub

 

실행 버튼을 누릅니다

 

sheet1과 sheet2의 값이 다른 모든 셀이 빨간색으로 칠해졌습니다.

 

사람이 한다면 눈빠질 일들이 코드 한방으로 해결이 됩니다.

만약에 원본과 비교값을 바꾸고 싶다면 sheet1과 sheet2의 이름을 바꿔보세요

 

아 위에 보여드린 코드는 기존에 빨간색이 있는 셀을 바꾸지는 않습니다.

sheet1의 셀 색을 모두 하얀색으로 바꾼 뒤에 실행하시길 바랍니다.

 

그럼 즐퇴 하시길 바랍니다~!

반응형